limn-review 0.1.161 → 0.1.162

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "limn-review",
3
- "version": "0.1.161",
3
+ "version": "0.1.162",
4
4
  "description": "Dashboard for tracking your team's GitHub PR activity across repos. Runs on your machine with your gh login.",
5
5
  "type": "module",
6
6
  "author": "Alex Wakeman",
@@ -1,3 +1,3 @@
1
- import{d as Ie,r as p,j as e}from"./tanstack-BnbsafB1.js";import{aV as z,aU as Qe,cH as je,cO as Xe,co as Ze,cF as et,cq as Te,aO as tt,cG as U,A as Ne,aT as Se,T as ne,v as st,a4 as nt,an as ie,bp as Ee,a0 as _e,e as G,a3 as it,aR as Me,h as Be,p as at,j as rt,a as lt,C as ct,dk as ot,bU as ut,aW as dt,dc as mt,dd as ht,Y as xt,G as pt,S as ft,s as K,bC as gt,cE as bt,cD as jt,cn as Nt,bh as vt,bV as wt,az as kt,bg as yt,b5 as Rt,c3 as Le,bF as Pt,cj as $e,ck as Ct,cx as At,cM as Ft,cL as It,d5 as Tt,d6 as St,aS as Et,aP as _t,cm as Mt,cl as Bt,cy as Lt,d2 as $t,au as Ot,Z as Ut,aQ as Dt,bJ as Ht,bS as ae,V as Wt,t as Yt,K as qt,R as Gt,b$ as Oe,cW as Kt,ah as ve,u as Vt,I as zt}from"./index-BlQbP_2V.js";import{r as Jt,t as Qt,S as Xt,C as Zt,T as es,F as ts,f as ss}from"./ClaudeReviewTab-PKYprED-.js";import"./markdown-CcoLFczy.js";import"./highlight-DIEV0qGG.js";import"./vis-C3BCkP5U.js";const ns="inline-flex h-7 items-center whitespace-nowrap rounded-ui bg-ui-raise px-2.5 text-meta font-medium text-ui-ink hover:bg-ui-hover disabled:cursor-not-allowed disabled:opacity-50 touch:h-10 touch:px-3",we="inline-flex h-7 items-center whitespace-nowrap rounded-ui bg-ui-raise px-2.5 text-meta font-medium text-ui-ink hover:bg-ui-hover disabled:cursor-not-allowed disabled:opacity-50 touch:h-10 touch:px-3",ke="inline-flex items-center rounded-ui bg-ui-raise px-1.5 py-px font-mono text-meta text-ui-ink";function is(t){return t instanceof Be||t instanceof Error?t.message:"Something went wrong"}function Ue({plan:t}){return e.jsx("ul",{className:"list-disc space-y-0.5 pl-5 text-body text-ui-ink",children:t.summary.map((s,n)=>e.jsx("li",{children:s},n))})}function ye(t,s){var n;return((n=t==null?void 0:t.find(a=>a.ref===s))==null?void 0:n.title)??null}function as({plan:t,items:s}){return e.jsxs("div",{className:"mt-2 space-y-3 text-meta text-ui-ink",children:[t.steps.length>0&&e.jsx("ol",{className:"list-decimal space-y-2 pl-5",children:t.steps.map((n,a)=>e.jsxs("li",{children:[e.jsx("div",{className:"font-medium text-ui-ink",children:n.title}),n.files.length>0&&e.jsx("div",{className:"mt-0.5 font-mono text-meta text-ui-mute",children:n.files.join(", ")}),e.jsx("p",{className:"mt-0.5 whitespace-pre-wrap",children:n.change}),n.refs.length>0&&e.jsx("div",{className:"mt-1 flex flex-wrap gap-1",children:n.refs.map(i=>e.jsx("span",{className:ke,children:i},i))})]},a))}),t.notAddressed.length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"mb-1 font-semibold text-ui-mute",children:"Will not fix"}),e.jsx("ul",{className:"space-y-1",children:t.notAddressed.map(n=>e.jsxs("li",{children:[e.jsx("span",{className:ke,children:n.ref})," ",ye(s,n.ref)&&e.jsxs("span",{className:"font-medium",children:[ye(s,n.ref),": "]}),n.reason]},n.ref))})]}),t.notCovered.length>0&&e.jsxs("p",{children:[e.jsx("span",{className:"font-semibold text-ui-mute",children:"Not in the plan: "}),t.notCovered.join(", ")]})]})}function rs({pr:t,fix:s,liveStatus:n,passRunning:a,auth:i}){var w,h;const l=s.plan,o=z(s.plan??s),g=Qe((s.plan??s).provider,(s.plan??s).model),c=je(g,"plan"),m=je(g,"fix"),v=Me(c),F=Xe(t.id),u=Ze(t.id),k=et(t.id),M=Te(t.id),C=Ie({mutationKey:tt(t.id)})>0,B=U(j=>j.noteAiFixRun),[E,I]=p.useState(""),[y,D]=p.useState(!1);if(!l)return null;const R=l.plan,_=l.status==="plan_ready"&&!a,L=E.trim(),P=L.length>Ne,r=()=>{!_||C||L===""||P||F.mutate({fixId:s.id,text:L},{onSuccess:()=>I("")})},d=()=>{B({prId:t.id,repoFullName:t.repoFullName,prNumber:t.number,prTitle:t.title}),u.mutate(s.id)},f=F.error??u.error??k.error;return e.jsxs("div",{className:"mt-3 rounded-ui bg-ui-surface p-3",children:[e.jsxs("div",{className:"mb-1 flex items-center gap-1 text-meta font-semibold text-ui-ink",children:["Plan",R&&l.revision>1&&e.jsxs("span",{className:"font-normal text-ui-mute",children:["· version ",l.revision]}),l.model&&e.jsxs("span",{className:"font-normal text-ui-mute",children:["· ",Se(l.provider,l.model,l.effort)]}),e.jsxs(ne,{title:"Plan first",children:[e.jsxs("p",{children:[v," reads the code and writes a plan. It changes nothing."]}),e.jsxs("p",{children:["Tell ",v," what to change and it rewrites the plan, taking the whole conversation into account. Each message runs ",v," again."]}),e.jsxs("p",{children:["When you approve, ",v," builds the fix from this plan. You still review the diff and press Push."]})]})]}),R?e.jsxs(e.Fragment,{children:[e.jsx(Ue,{plan:R}),e.jsxs("button",{type:"button",className:"hit mt-2 inline-flex items-center gap-1 text-meta text-ui-mute hover:text-ui-ink","aria-expanded":y,onClick:()=>D(j=>!j),children:[e.jsx(st,{dir:y?"down":"right"}),"Details"]}),y&&e.jsx(as,{plan:R,items:s.reviewItems})]}):!a&&e.jsx("p",{className:"text-meta text-ui-mute",children:"No plan yet."}),s.error&&e.jsx("p",{className:"mt-2 rounded-ui bg-ui-raise p-2 text-meta text-ui-warn",children:s.error}),e.jsx(nt,{transcript:l.transcript,plannedBy:o}),a&&e.jsxs("div",{className:"mt-3",children:[e.jsx(ie,{active:!0,label:R?"Updating the plan":"Making the plan",value:Ee(n),timeConstantSec:30}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 text-meta text-ui-mute",children:[_e[((w=n==null?void 0:n.progress)==null?void 0:w.phase)??""]??"Working…",e.jsx("button",{type:"button",className:we,onClick:()=>M.mutate(),children:"Cancel"})]}),((h=n==null?void 0:n.progress)==null?void 0:h.recentActivity)&&n.progress.recentActivity.length>0&&e.jsx("pre",{className:"mt-1 max-h-32 overflow-auto rounded-ui bg-ui-surface p-2 text-meta leading-relaxed text-ui-mute",children:n.progress.recentActivity.slice(-8).join(`
1
+ import{d as Ie,r as p,j as e}from"./tanstack-BnbsafB1.js";import{aV as z,aU as Qe,cH as je,cO as Xe,co as Ze,cF as et,cq as Te,aO as tt,cG as U,A as Ne,aT as Se,T as ne,v as st,a4 as nt,an as ie,bp as Ee,a0 as _e,e as G,a3 as it,aR as Me,h as Be,p as at,j as rt,a as lt,C as ct,dk as ot,bU as ut,aW as dt,dc as mt,dd as ht,Y as xt,G as pt,S as ft,s as K,bC as gt,cE as bt,cD as jt,cn as Nt,bh as vt,bV as wt,az as kt,bg as yt,b5 as Rt,c3 as Le,bF as Pt,cj as $e,ck as Ct,cx as At,cM as Ft,cL as It,d5 as Tt,d6 as St,aS as Et,aP as _t,cm as Mt,cl as Bt,cy as Lt,d2 as $t,au as Ot,Z as Ut,aQ as Dt,bJ as Ht,bS as ae,V as Wt,t as Yt,K as qt,R as Gt,b$ as Oe,cW as Kt,ah as ve,u as Vt,I as zt}from"./index-Bk94ZJq7.js";import{r as Jt,t as Qt,S as Xt,C as Zt,T as es,F as ts,f as ss}from"./ClaudeReviewTab-D5UZntQn.js";import"./markdown-CcoLFczy.js";import"./highlight-DIEV0qGG.js";import"./vis-C3BCkP5U.js";const ns="inline-flex h-7 items-center whitespace-nowrap rounded-ui bg-ui-raise px-2.5 text-meta font-medium text-ui-ink hover:bg-ui-hover disabled:cursor-not-allowed disabled:opacity-50 touch:h-10 touch:px-3",we="inline-flex h-7 items-center whitespace-nowrap rounded-ui bg-ui-raise px-2.5 text-meta font-medium text-ui-ink hover:bg-ui-hover disabled:cursor-not-allowed disabled:opacity-50 touch:h-10 touch:px-3",ke="inline-flex items-center rounded-ui bg-ui-raise px-1.5 py-px font-mono text-meta text-ui-ink";function is(t){return t instanceof Be||t instanceof Error?t.message:"Something went wrong"}function Ue({plan:t}){return e.jsx("ul",{className:"list-disc space-y-0.5 pl-5 text-body text-ui-ink",children:t.summary.map((s,n)=>e.jsx("li",{children:s},n))})}function ye(t,s){var n;return((n=t==null?void 0:t.find(a=>a.ref===s))==null?void 0:n.title)??null}function as({plan:t,items:s}){return e.jsxs("div",{className:"mt-2 space-y-3 text-meta text-ui-ink",children:[t.steps.length>0&&e.jsx("ol",{className:"list-decimal space-y-2 pl-5",children:t.steps.map((n,a)=>e.jsxs("li",{children:[e.jsx("div",{className:"font-medium text-ui-ink",children:n.title}),n.files.length>0&&e.jsx("div",{className:"mt-0.5 font-mono text-meta text-ui-mute",children:n.files.join(", ")}),e.jsx("p",{className:"mt-0.5 whitespace-pre-wrap",children:n.change}),n.refs.length>0&&e.jsx("div",{className:"mt-1 flex flex-wrap gap-1",children:n.refs.map(i=>e.jsx("span",{className:ke,children:i},i))})]},a))}),t.notAddressed.length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"mb-1 font-semibold text-ui-mute",children:"Will not fix"}),e.jsx("ul",{className:"space-y-1",children:t.notAddressed.map(n=>e.jsxs("li",{children:[e.jsx("span",{className:ke,children:n.ref})," ",ye(s,n.ref)&&e.jsxs("span",{className:"font-medium",children:[ye(s,n.ref),": "]}),n.reason]},n.ref))})]}),t.notCovered.length>0&&e.jsxs("p",{children:[e.jsx("span",{className:"font-semibold text-ui-mute",children:"Not in the plan: "}),t.notCovered.join(", ")]})]})}function rs({pr:t,fix:s,liveStatus:n,passRunning:a,auth:i}){var w,h;const l=s.plan,o=z(s.plan??s),g=Qe((s.plan??s).provider,(s.plan??s).model),c=je(g,"plan"),m=je(g,"fix"),v=Me(c),F=Xe(t.id),u=Ze(t.id),k=et(t.id),M=Te(t.id),C=Ie({mutationKey:tt(t.id)})>0,B=U(j=>j.noteAiFixRun),[E,I]=p.useState(""),[y,D]=p.useState(!1);if(!l)return null;const R=l.plan,_=l.status==="plan_ready"&&!a,L=E.trim(),P=L.length>Ne,r=()=>{!_||C||L===""||P||F.mutate({fixId:s.id,text:L},{onSuccess:()=>I("")})},d=()=>{B({prId:t.id,repoFullName:t.repoFullName,prNumber:t.number,prTitle:t.title}),u.mutate(s.id)},f=F.error??u.error??k.error;return e.jsxs("div",{className:"mt-3 rounded-ui bg-ui-surface p-3",children:[e.jsxs("div",{className:"mb-1 flex items-center gap-1 text-meta font-semibold text-ui-ink",children:["Plan",R&&l.revision>1&&e.jsxs("span",{className:"font-normal text-ui-mute",children:["· version ",l.revision]}),l.model&&e.jsxs("span",{className:"font-normal text-ui-mute",children:["· ",Se(l.provider,l.model,l.effort)]}),e.jsxs(ne,{title:"Plan first",children:[e.jsxs("p",{children:[v," reads the code and writes a plan. It changes nothing."]}),e.jsxs("p",{children:["Tell ",v," what to change and it rewrites the plan, taking the whole conversation into account. Each message runs ",v," again."]}),e.jsxs("p",{children:["When you approve, ",v," builds the fix from this plan. You still review the diff and press Push."]})]})]}),R?e.jsxs(e.Fragment,{children:[e.jsx(Ue,{plan:R}),e.jsxs("button",{type:"button",className:"hit mt-2 inline-flex items-center gap-1 text-meta text-ui-mute hover:text-ui-ink","aria-expanded":y,onClick:()=>D(j=>!j),children:[e.jsx(st,{dir:y?"down":"right"}),"Details"]}),y&&e.jsx(as,{plan:R,items:s.reviewItems})]}):!a&&e.jsx("p",{className:"text-meta text-ui-mute",children:"No plan yet."}),s.error&&e.jsx("p",{className:"mt-2 rounded-ui bg-ui-raise p-2 text-meta text-ui-warn",children:s.error}),e.jsx(nt,{transcript:l.transcript,plannedBy:o}),a&&e.jsxs("div",{className:"mt-3",children:[e.jsx(ie,{active:!0,label:R?"Updating the plan":"Making the plan",value:Ee(n),timeConstantSec:30}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 text-meta text-ui-mute",children:[_e[((w=n==null?void 0:n.progress)==null?void 0:w.phase)??""]??"Working…",e.jsx("button",{type:"button",className:we,onClick:()=>M.mutate(),children:"Cancel"})]}),((h=n==null?void 0:n.progress)==null?void 0:h.recentActivity)&&n.progress.recentActivity.length>0&&e.jsx("pre",{className:"mt-1 max-h-32 overflow-auto rounded-ui bg-ui-surface p-2 text-meta leading-relaxed text-ui-mute",children:n.progress.recentActivity.slice(-8).join(`
2
2
  `)})]}),_&&R&&e.jsxs("div",{className:"mt-3",children:[e.jsx(G,{kind:"plan",auth:i,meter:!1,followUp:!0,provider:c,children:e.jsx(it,{name:v,draft:E,setDraft:I,busy:C,maxChars:Ne,onSend:r})}),e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[e.jsx(G,{kind:"fix",auth:i,followUp:!0,provider:m,children:e.jsx("button",{type:"button","data-ai-run":!0,className:ns,disabled:C,onClick:d,children:"Approve and build"})}),e.jsx("button",{type:"button",className:we,disabled:C,onClick:()=>k.mutate(s.id),children:"Discard plan"})]})]}),f!=null&&e.jsx("p",{className:"mt-1 text-meta text-ui-danger",children:is(f)})]})}function De({fix:t}){var n;const s=((n=t.plan)==null?void 0:n.status)==="approved"?t.plan.plan:null;return s?e.jsxs("div",{className:"mb-2 rounded-ui bg-ui-surface p-2",children:[e.jsx("div",{className:"mb-1 text-meta font-semibold text-ui-mute",children:"Built from your plan"}),e.jsx(Ue,{plan:s})]}):null}function ls(t,s,n){var a;return t??((s==null?void 0:s.status)==="succeeded"?s.id:((a=n.find(i=>i.status==="succeeded"))==null?void 0:a.id)??null)}function cs(t,s,n){return s==null||n==null||s===n.id?null:t!=null?"Uses the review you picked, not the latest.":n.status==="failed"?"Uses the last review that finished. The latest one failed.":n.status==="running"||n.status==="queued"?"Uses the last review that finished. A newer one is running.":"Uses the last review that finished."}const Re=ct,os=rt;function us(t){return t.kind==="finding"&&t.findingId!=null?`claude-finding-${t.findingId}`:null}function ds(t){const s=U(n=>n.openClaudeReview);return n=>{s({id:t.id,number:t.number,title:t.title,repoFullName:t.repoFullName,authorLogin:null,authorDisplayName:null,authorAvatarUrl:null});const a=Date.now()+3e3,i=()=>{const l=document.getElementById(n);if(l){l.scrollIntoView({behavior:"smooth",block:"center"});return}Date.now()<a&&requestAnimationFrame(i)};requestAnimationFrame(i)}}function Pe({refId:t,item:s,onJump:n}){const a=s?`${lt[s.kind]} ${t}`:t,i=e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"shrink-0",children:a}),s&&e.jsxs("span",{className:"min-w-0 truncate font-normal",children:["· ",s.title]})]}),l=s?us(s):null;return l?e.jsx("button",{type:"button",onClick:()=>n(l),"aria-label":`${a}: ${(s==null?void 0:s.title)??""}. Show in AI Review`,className:`${Re} max-w-[22rem] hover:bg-ui-hover`,children:i}):e.jsx("span",{className:`${Re} max-w-[22rem]`,children:i})}function ms(t){var s;switch(t.seed){case"review":{const n=((s=t.reviewItems)==null?void 0:s.length)??0;return`Fix from ${t.sourceReviewId==null?"the CI check":"the AI review"}${n>0?` (${n} item${n===1?"":"s"})`:""}.`}case"plain":return"Fix from your instruction.";case"comments":return"Fix from picked comments (no longer offered).";case"ci_analysis":return"Fix from the CI analysis (no longer offered).";default:return""}}function hs({pr:t,fix:s}){const n=z(s),a=ds(t),i=s.changeReport,l=new Map((s.reviewItems??[]).map(c=>[c.ref,c])),o=(s.reviewItems??[]).filter(c=>!c.included);if(!i&&o.length===0)return null;const g=l.size>0;return e.jsxs("div",{className:"mt-2 text-meta",children:[e.jsx(at,{report:i,filesChanged:s.filesChanged,by:n,refsInfo:g?e.jsx("p",{children:"Each tag is a review item the change answers. A finding tag opens it in the AI Review tab."}):null,renderRef:c=>e.jsx(Pe,{refId:c,item:l.get(c),onJump:a},c)}),o.length>0&&e.jsxs("section",{children:[e.jsxs("div",{className:os,children:["Left out",e.jsx(ne,{title:"Left out",children:e.jsxs("p",{children:["These review items did not fit in what ",n," was sent, so it never saw them."]})})]}),e.jsx("div",{className:"flex flex-wrap gap-1",children:o.map(c=>e.jsx(Pe,{refId:c.ref,item:c,onJump:a},c.ref))})]})]})}const xs=["findings","earlier_findings","judged_threads","untouched_threads","ci_failures","sonar","style_bots","story"],ps={findings:"Claude’s findings",earlier_findings:"Earlier findings still open",judged_threads:"Threads Claude says need a fix",untouched_threads:"Unanswered threads",ci_failures:"CI failures",sonar:"SonarCloud issues",style_bots:"Style bot comments",story:"Ticket gaps"};function Ce(t,s="Claude"){return t==="findings"?`${s}’s findings`:t==="judged_threads"?`Threads ${s} says need a fix`:ps[t]}function V(t,s){return s[t.key]??t.defaultIncluded}function fs(t,s){return t.items.filter(n=>V(n,s)).map(n=>n.key)}function He(t,s){const n=new Set;let a=0;for(const i of t.items)if(V(i,s)){if(a>0&&a+i.chars>t.budgetChars){n.add(i.key);continue}a+=i.chars}return n}function gs(t,s){const n={};for(const a of t.items)n[a.key]=a.section===s;return n}const bs={blocker:"Blocker",warning:"Warning",nit:"Nit",question:"Question",praise:"Praise"},Ae={blocker:"bg-ui-danger/10 text-ui-danger",warning:"bg-ui-raise text-ui-warn",nit:"bg-ui-raise text-ui-mute"},We="whitespace-nowrap rounded-ui bg-ui-raise px-1 py-px text-meta text-ui-warn",Z=new Set;function js(t,s){return t?s!=null?`${t}:${s}`:t:null}function Ns({item:t,picked:s,cut:n,disabled:a,onToggle:i}){return e.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 pt-0.5",children:[e.jsx("label",{className:"flex cursor-pointer items-center touch:-my-3 touch:min-h-10 touch:min-w-10 touch:justify-center",children:e.jsx(K,{checked:s,disabled:a,onChange:l=>i(l.target.checked),"aria-label":`Include in the fix: ${t.label}`})}),s&&n&&e.jsx("span",{className:We,children:"Won’t fit"})]})}function vs({item:t,picked:s,cut:n,disabled:a,onToggle:i}){const l=js(t.path,t.line);return e.jsx("li",{children:e.jsxs("label",{className:`flex cursor-pointer items-start gap-2 rounded-ui border px-2 py-1.5 text-meta ${s?"border-ui-line bg-ui-sel":"border-ui-line"}`,children:[e.jsx(K,{className:"mt-0.5",checked:s,disabled:a,onChange:o=>i(o.target.checked)}),e.jsxs("span",{className:"min-w-0 flex-1",children:[e.jsxs("span",{className:"flex flex-wrap items-center gap-1.5",children:[t.severity&&Ae[t.severity]&&e.jsx("span",{className:`rounded-ui px-1 py-px text-meta font-medium ${Ae[t.severity]}`,children:bs[t.severity]}),e.jsx("span",{className:"break-words text-ui-ink",children:t.label}),s&&n&&e.jsx("span",{className:We,children:"Won’t fit"})]}),(l||t.detail)&&e.jsxs("span",{className:"mt-0.5 block break-words text-meta text-ui-mute",children:[l&&e.jsx("span",{className:"font-mono",children:l}),l&&t.detail?" · ":"",t.detail]})]})]})})}function ws({preview:t,overrides:s,onChange:n,disabled:a,pr:i,review:l}){const o=He(t,s),g=new Map;for(const r of t.items){const d=g.get(r.section)??[];d.push(r),g.set(r.section,d)}const c=(r,d)=>{const f={...s};for(const w of r)f[w]=d;n(f)},m=l!=null&&l.id===t.sourceReviewId?l:null,v=Jt(l),F=Qt(l),u=p.useMemo(()=>m!=null?ot(m):null,[m]),k=p.useMemo(()=>new Map(((u==null?void 0:u.findings)??[]).map(r=>[r.id,r])),[u]),M=p.useMemo(()=>{var r;return new Map((((r=u==null?void 0:u.followUp)==null?void 0:r.items)??[]).map(d=>[d.priorFindingId,d]))},[u]),C=p.useMemo(()=>u!=null?ut(u):new Map,[u]),B=p.useMemo(()=>u!=null?dt(u):new Set,[u]),E=p.useMemo(()=>{var d;const r=new Set;for(const f of t.items)((d=f.card)==null?void 0:d.kind)==="story"&&r.add(f.card.ticketReviewId);return[...r].sort((f,w)=>f-w)},[t.items]),I=mt(i.id,E.length>0),y=p.useMemo(()=>{var d;const r=new Map;for(const f of((d=I.data)==null?void 0:d.tickets)??[])f.review!=null&&r.set(f.review.id,f.review);return r},[I.data]),D=p.useMemo(()=>I.data==null?[]:E.filter(r=>!y.has(r)),[I.data,E,y]),R=ht(D),_=p.useMemo(()=>{const r=new Map(y);for(const d of R)r.set(d.id,d);return r},[y,R]);if(t.items.length===0)return e.jsx("p",{className:"text-meta text-ui-mute",children:"The review found nothing to fix."});const L=(m==null?void 0:m.headSha)??i.headSha,P=r=>{var H,T;const d=V(r,s),f=o.has(r.key),w=b=>c([r.key],b),h=e.jsx(Ns,{item:r,picked:d,cut:f,disabled:a,onToggle:w}),j=r.card;switch(j==null?void 0:j.kind){case"finding":{const b=k.get(j.findingId);if(b==null)break;return e.jsx(ts,{authorName:ss(l,b),prId:i.id,finding:b,editable:!1,prUrl:i.githubUrl,repoFullName:i.repoFullName,headSha:L,posting:!1,postError:null,inChangeset:b.fileInDiff,priorStatus:C.get(b.id),alreadyPosted:B.has(b.id),actions:!1,selection:h,docReferences:(m==null?void 0:m.docReferences)??null},r.key)}case"earlier_finding":{const b=M.get(j.priorFindingId);if(b==null)break;return e.jsx(ft,{item:b,muted:!1,findingsById:k,headMoved:((H=u==null?void 0:u.followUp)==null?void 0:H.headMoved)??!1,changedPaths:Z,actions:!1,selection:h,by:v},r.key)}case"thread":return e.jsx(es,{t:j.assessment,muted:!1,actions:!1,selection:h,notCheckedNote:j.inReview?void 0:`${F} didn’t check this one.`,by:F},r.key);case"ci":return e.jsx(Zt,{f:j.item,suggestion:j.item.suggestion,changedPaths:Z,selection:h},r.key);case"sonar":return e.jsx(Xt,{issue:j.issue,selection:h},r.key);case"story":{const b=_.get(j.ticketReviewId),S=b==null?void 0:b.items.find($=>$.id===j.itemId);if(b==null||S==null)break;const N={review:b,viewedPrId:i.id,changedPaths:Z,actions:!1,selection:h};if(S.status==="missing")return e.jsx(xt,{item:S,...N},r.key);const x=(T=b.assessment)==null?void 0:T.criteria.find($=>$.ref===S.ref);if(x==null||x.status==="met")break;return e.jsx(pt,{c:x,item:S,...N},r.key)}}return e.jsx(vs,{item:r,picked:d,cut:f,disabled:a,onToggle:w},r.key)};return e.jsxs("div",{className:"space-y-3",children:[xs.filter(r=>g.has(r)).map(r=>{const d=g.get(r),f=d.filter(h=>V(h,s)).length,w=f===d.length;return e.jsxs("section",{"aria-label":Ce(r,v),children:[e.jsxs("div",{className:"mb-1 flex items-center gap-2",children:[e.jsx("h4",{className:"text-meta font-semibold text-ui-ink",children:Ce(r,v)}),e.jsxs("span",{className:"text-meta text-ui-mute",children:[f," of ",d.length]}),e.jsx("button",{type:"button",className:"hit ml-auto text-meta text-ui-accent hover:underline disabled:opacity-50",disabled:a,onClick:()=>c(d.map(h=>h.key),!w),children:w?"Untick all":"Tick all"})]}),e.jsx("ul",{className:"space-y-1.5",children:d.map(P)})]},r)}),o.size>0&&e.jsxs("p",{className:"text-meta text-ui-warn",children:[o.size," ticked ",o.size===1?"item does":"items do"," not fit in one fix and will be left out. Untick something to make room."]})]})}const ks="inline-flex h-7 items-center whitespace-nowrap rounded-ui bg-ui-raise px-2.5 text-meta font-medium text-ui-ink hover:bg-ui-hover disabled:cursor-not-allowed disabled:opacity-50 touch:h-10 touch:px-3",Fe="inline-flex h-7 items-center whitespace-nowrap rounded-ui bg-ui-raise px-2.5 text-meta font-medium text-ui-ink hover:bg-ui-hover disabled:cursor-not-allowed disabled:opacity-50 touch:h-10 touch:px-3";function Ye(t){return{prId:t.id,repoId:t.repoId,repoFullName:t.repoFullName,prNumber:t.number,prTitle:t.title,githubUrl:t.githubUrl}}function ys(t){const s=gt({mergeable:t.mergeable,mergeStateStatus:t.mergeStateStatus,isDraft:t.isDraft,inMergeQueue:t.inMergeQueue===!0}).verdict;return bt({state:t.state,verdict:s,viewerCanPush:t.viewerCanPush})}function Rs({pr:t}){const s=jt(t.id),n=Nt(),a=vt(s),i=t.baseRefName??"the base branch";p.useEffect(()=>{wt(t.id)},[t.id]);const l=Ye(t),o=(s==null?void 0:s.phase)==="succeeded"?s.resolution:null;return e.jsxs("div",{className:"mb-3 rounded-ui bg-ui-surface p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-body font-medium text-ui-ink",children:[e.jsx(kt,{size:13,className:"text-ai-signal"}),"This branch conflicts with ",i]}),e.jsxs("p",{className:"mt-1 text-meta text-ui-mute",children:[n," reads the code and picks a result for each conflict. You check its choices in the resolver before anything is pushed."]}),a&&s!=null?e.jsxs("div",{className:"mt-2",children:[e.jsx(ie,{active:!0,label:`Resolving conflicts with ${n}`,timeConstantSec:60}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 text-meta text-ui-mute",children:[yt(s.phase,n),e.jsx("button",{type:"button",className:Fe,onClick:()=>Rt(t.id),children:"Cancel"})]})]}):e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[e.jsx(G,{kind:"resolve",children:e.jsx("button",{type:"button",className:ks,onClick:()=>Le(l,{providerName:n}),children:o!=null?"Run again":`Resolve merge conflicts with ${n}`})}),o!=null&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:Fe,onClick:()=>Pt(l),children:"Open the resolver"}),e.jsxs("span",{className:"text-meta text-ui-mute",children:[z(o)," decided ",o.choices.length," of ",o.decidableTotal," change",o.decidableTotal===1?"":"s","."]})]}),(s==null?void 0:s.phase)==="failed"&&s.error!=null&&e.jsx("span",{className:"text-meta text-ui-danger",children:s.error}),(s==null?void 0:s.phase)==="cancelled"&&e.jsx("span",{className:"text-meta text-ui-mute",children:"Cancelled."})]})]})}const te="inline-flex h-7 items-center whitespace-nowrap rounded-ui bg-ui-raise px-2.5 text-meta font-medium text-ui-ink hover:bg-ui-hover disabled:cursor-not-allowed disabled:opacity-50 touch:h-10 touch:px-3";function se(t){return t instanceof Be||t instanceof Error?t.message:"Something went wrong"}const ee="inline-flex h-7 items-center whitespace-nowrap rounded-ui bg-ui-raise px-2.5 text-meta font-medium text-ui-ink hover:bg-ui-hover disabled:cursor-not-allowed disabled:opacity-50 touch:h-10 touch:px-3";function Ps({children:t,info:s}){return e.jsxs("div",{className:"flex items-center gap-1.5 px-4 pb-2 pt-4 text-title text-ui-ink md:px-5",children:[e.jsx("h3",{children:t}),s]})}function Os({pr:t}){const s=$e().enabled,n=U(c=>c.aiFixTabFocus),a=U(c=>c.consumeAiFixTabFocus),[i,l]=p.useState(null),[o,g]=p.useState(null);return p.useEffect(()=>{n&&n.prId===t.id&&(n.reviewId!=null&&l(n.reviewId),n.only!=null&&g(n.only),a())},[n,t.id,a]),s?e.jsx("div",{className:"pb-6",children:e.jsx(Cs,{pr:t,handoffReviewId:i,onlySection:o,onOnlySectionApplied:()=>g(null)})}):e.jsx(e.Fragment,{})}function Cs({pr:t,handoffReviewId:s,onlySection:n,onOnlySectionApplied:a}){var oe,ue,de,me,he,xe,pe,fe,ge,be;const{data:i,isLoading:l}=Ct(t.id,!0),{data:o,isLoading:g}=At(t.id),c=(o==null?void 0:o.review)??null,m=ls(s,c,(o==null?void 0:o.history)??[]),v=cs(s,m,c),F=U(A=>A.setPrDetailTab),u=Ft("fix",zt),k=Me(u.chosen.provider),M=It().data,C=Tt(t.id),B=St(t.id),E=Te(t.id),I=$e(),y=Et(M,u.chosen.provider,"plan"),[D,R]=p.useState(!1),_=D&&y,L=U(A=>A.noteAiFixRun),P=Ie({mutationKey:_t(t.id)})>0,r=((oe=i==null?void 0:i.fix)==null?void 0:oe.status)??null,d=r==="planned",f=d&&((de=(ue=i==null?void 0:i.fix)==null?void 0:ue.plan)==null?void 0:de.status)==="planning",w=r==="running"||r==="queued"||P||f,{status:h}=Mt(t.id,w),j=(h==null?void 0:h.status)??r??"idle",H=j==="running"||j==="queued",T=H&&!d,b=d&&(f||H),S=d&&(((he=(me=i==null?void 0:i.fix)==null?void 0:me.plan)==null?void 0:he.status)==="planning"||((pe=(xe=i==null?void 0:i.fix)==null?void 0:xe.plan)==null?void 0:pe.status)==="plan_ready"),N=(i==null?void 0:i.fix)??null,x=Bt(t.id,m,(i==null?void 0:i.enabled)!==!1&&(m!=null||!g)),$=m==null&&x.data!=null&&x.data.sourceReviewId==null&&x.data.items.length>0,q=m!=null||$,Ge=Lt(m!=null&&(c==null?void 0:c.id)!==m?m:null),Ke=m!=null&&(c==null?void 0:c.id)===m?c:Ge.data??null,[J,Q]=p.useState({});p.useEffect(()=>Q({}),[m]);const[Ve,W]=p.useState(!1);p.useEffect(()=>{n==null||!x.data||(Q(gs(x.data,n)),W(!0),a())},[n,x.data,a]);const re=!S&&(Ve||!N||N.status!=="succeeded"),X=ys(t),[le,ze]=p.useState(!1),Y=$t(t.id,t.repoFullName),O=x.data?fs(x.data,J):[],ce=x.data?He(x.data,J).size:0,Je=()=>{if(!q||!x.data||O.length===0)return;const A={model:u.chosen.model,provider:u.chosen.provider,seed:"review",...m!=null?{sourceReviewId:m}:{},include:O,...Y.names.length>0?{checks:Y.names}:{}};_?B.mutate(A,{onSuccess:()=>W(!1)}):(L({prId:t.id,repoFullName:t.repoFullName,prNumber:t.number,prTitle:t.title}),C.mutate(A,{onSuccess:()=>W(!1)})),le&&X&&Le(Ye(t),{model:Dt(u.chosen.model),providerName:I.providerName})};return e.jsxs("div",{children:[e.jsx(Ps,{info:e.jsxs(ne,{title:"AI Fix",children:[e.jsxs("p",{children:[k," reads the PR's code and edits files in a private copy. It has no shell. Tick Run tests to let it run the project's own test, lint and type checks in a sandbox."]}),e.jsx("p",{children:"A fix starts from an AI review. Pick what it should work on: the review's findings, earlier findings still open, threads the review says need a fix, unanswered threads, CI failures and ticket gaps are ticked; style bot comments are not."}),e.jsx("p",{children:"With no AI review, a fix can start from a finished CI check: it works on the failures the check says this PR can fix."}),e.jsxs("p",{children:["Tick Plan first to read ",k,"'s plan, steer it and approve it before anything changes."]}),e.jsxs("p",{children:[k," reports what it changed in each file and what it left alone, and why."]}),e.jsx("p",{children:"Nothing is pushed until you press Push. An automatic fix on your own PR is pushed for you only when Push automatically is on in Settings."})]}),children:"AI Fix"}),e.jsxs("div",{className:"px-4",children:[X&&e.jsx(Rs,{pr:t}),(i==null?void 0:i.enabled)===!1?e.jsx("p",{className:"text-body text-ui-mute",children:"The agentic fixer is turned off."}):e.jsxs(e.Fragment,{children:[!T&&!S&&!q&&!g&&!x.isLoading&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("p",{className:"text-meta text-ui-mute",children:(c==null?void 0:c.status)==="running"||(c==null?void 0:c.status)==="queued"?"A fix starts from an AI review. One is running.":"A fix starts from a finished AI review."}),e.jsx("button",{type:"button",className:te,onClick:()=>F(t.id,"claude_review"),children:"Open AI Review"})]}),!T&&!S&&q&&!re&&e.jsx("button",{type:"button",className:ee,onClick:()=>W(!0),children:"New fix"}),!T&&q&&re&&e.jsxs("div",{children:[v&&e.jsx("p",{className:"mb-2 text-meta text-ui-mute",children:v}),$&&e.jsx("p",{className:"mb-2 text-meta text-ui-mute",children:"No AI review yet. This fix works on the CI check’s failures."}),x.isLoading&&e.jsx("p",{className:"text-meta text-ui-mute",children:"Loading…"}),x.isError&&m!=null&&e.jsx("p",{className:"text-meta text-ui-danger",children:se(x.error)}),x.data&&e.jsx(ws,{preview:x.data,overrides:J,onChange:Q,disabled:P,pr:t,review:Ke}),x.data&&x.data.items.length>0&&X&&e.jsxs("label",{className:"mt-3 flex cursor-pointer items-start gap-2 text-meta text-ui-ink",children:[e.jsx(K,{className:"mt-0.5",checked:le,disabled:P,onChange:A=>ze(A.target.checked)}),e.jsxs("span",{children:["Also resolve merge conflicts with ",t.baseRefName??"the base branch",e.jsx("span",{className:"block text-meta text-ui-mute",children:"You check the merge in the resolver. It lands as its own commit, apart from the fix."})]})]}),x.data&&x.data.items.length>0&&e.jsx(Ot,{state:Y,disabled:P}),x.data&&x.data.items.length>0&&e.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2 max-md:sticky max-md:bottom-0 max-md:z-20 max-md:-mx-4 max-md:bg-ui-surface max-md:px-4 max-md:py-3",children:[e.jsx(Ut,{state:u,onPick:u.pick,disabled:P}),y&&e.jsxs("label",{className:"flex cursor-pointer items-center gap-1.5 text-meta text-ui-ink",children:[e.jsx(K,{checked:_,disabled:P,onChange:A=>R(A.target.checked)}),"Plan first"]}),e.jsx(G,{kind:"fix",auth:i==null?void 0:i.auth,anyProvider:!0,provider:u.chosen.provider,children:e.jsx("button",{type:"button",className:te,disabled:P||O.length===0||Y.on&&Y.query.isLoading,onClick:Je,children:_?"Make a plan":"Start fix"})}),e.jsx("span",{className:"text-meta text-ui-mute",children:O.length===0?"Nothing ticked.":`${O.length-ce} item${O.length-ce===1?"":"s"}`}),(N==null?void 0:N.status)==="succeeded"&&e.jsx("button",{type:"button",className:ee,onClick:()=>W(!1),children:"Close"})]})]}),T&&e.jsx("button",{type:"button",className:ee,onClick:()=>E.mutate(),children:"Cancel"}),(C.isError||B.isError)&&e.jsx("p",{className:"mt-1 text-meta text-ui-danger",children:se(C.error??B.error)}),N&&d&&e.jsx(rs,{pr:t,fix:N,liveStatus:h,passRunning:b,auth:i==null?void 0:i.auth}),T&&e.jsxs("div",{className:"mt-3",children:[N&&e.jsx(De,{fix:N}),e.jsx(ie,{active:!0,label:"Running AI fix",value:Ee(h),timeConstantSec:40}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 text-meta text-ui-mute",children:[(N==null?void 0:N.trigger)==="auto"&&e.jsx(qe,{}),_e[((fe=h==null?void 0:h.progress)==null?void 0:fe.phase)??""]??"Working…"]}),((ge=h==null?void 0:h.progress)==null?void 0:ge.recentActivity)&&h.progress.recentActivity.length>0&&e.jsx("pre",{className:"mt-1 max-h-32 overflow-auto rounded-ui bg-ui-surface p-2 text-meta leading-relaxed text-ui-mute",children:h.progress.recentActivity.slice(-8).join(`
3
3
  `)})]}),!T&&N&&!d&&e.jsx(Fs,{pr:t,fix:N,headInfo:(i==null?void 0:i.headInfo)??null,viewerCanPush:(i==null?void 0:i.viewerCanPush)??!1}),l&&!N&&e.jsx("p",{className:"mt-3 text-meta text-ui-mute",children:"Loading…"})]}),e.jsx(Ts,{history:(i==null?void 0:i.history)??[],currentFixId:((be=i==null?void 0:i.fix)==null?void 0:be.id)??null})]})]})}function qe(){return e.jsx("span",{className:"inline-flex items-center rounded-ui bg-ui-raise px-1.5 py-px text-meta font-medium text-ui-mute",children:"Auto fix"})}function As(t){return Se(t.provider,t.model,t.effort)}function Fs({pr:t,fix:s,headInfo:n,viewerCanPush:a}){var o,g,c;const i=p.useMemo(()=>Ht(s.patch),[s.patch]);if(s.status==="failed"&&((o=s.plan)==null?void 0:o.status)==="failed")return e.jsxs("div",{className:"mt-3 rounded-ui border border-ui-danger/40 bg-ui-danger/10 p-2 text-meta text-ui-danger",children:[z(s.plan??s)," could not make a plan: ",s.error??"unknown error"]});if(s.status==="cancelled"&&((g=s.plan)==null?void 0:g.status)==="discarded")return e.jsx("p",{className:"mt-3 text-meta text-ui-mute",children:"The plan was discarded."});if(s.status==="failed")return e.jsxs("div",{className:"mt-3 rounded-ui border border-ui-danger/40 bg-ui-danger/10 p-2 text-meta text-ui-danger",children:["The fix run failed: ",s.error??"unknown error"]});if(s.status==="cancelled")return e.jsx("p",{className:"mt-3 text-meta text-ui-mute",children:"The fix run was cancelled."});if(s.status!=="succeeded")return e.jsx(e.Fragment,{});const l=!s.patch||s.filesChanged.length===0;return e.jsxs("div",{className:"mt-3 border-t border-ui-line pt-3",children:[e.jsxs("p",{className:"mb-1 text-meta text-ui-mute",children:[s.trigger==="auto"&&e.jsxs(e.Fragment,{children:[e.jsx(qe,{})," "]}),ms(s)," · ",As(s),s.finishedAt&&e.jsxs(e.Fragment,{children:[" · ",ae(s.finishedAt)]})]}),s.pushedAt==null&&s.error&&e.jsx("p",{className:"mb-2 rounded-ui bg-ui-raise p-2 text-meta text-ui-warn",children:s.error}),e.jsx(De,{fix:s}),s.summary&&e.jsx("div",{className:"prose prose-sm max-w-none dark:prose-invert",children:e.jsx(Wt,{children:s.summary})}),e.jsx(hs,{pr:t,fix:s}),e.jsx(Yt,{checks:s.checks}),l?e.jsx("p",{className:"mt-2 text-meta text-ui-mute",children:"No files changed."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-1 mt-2 flex items-center justify-between gap-3 text-meta text-ui-mute",children:[e.jsxs("span",{children:[s.filesChanged.length," file",s.filesChanged.length===1?"":"s"," changed",!((c=s.checks)!=null&&c.ran)&&" · Not built or tested here."]}),e.jsx(qt,{})]}),e.jsx("div",{className:"overflow-hidden rounded-ui bg-ui-surface text-ui-ink",children:e.jsx(Gt,{files:i})}),e.jsx(Ss,{pr:t,fix:s,headInfo:n,viewerCanPush:a})]})]})}function Is({fix:t}){return e.jsxs("div",{className:"mb-2 rounded-ui bg-ui-raise p-2 text-meta text-ui-success",children:[e.jsxs("div",{children:["Pushed to ",e.jsx("span",{className:"font-mono",children:t.pushedBranch}),t.pushedPrUrl&&e.jsxs(e.Fragment,{children:[" · ",e.jsxs("a",{href:Oe(t.pushedPrUrl),target:"_blank",rel:"noreferrer",className:"hit underline",children:["PR #",t.pushedPrNumber]})]}),t.pushedAt&&e.jsxs(e.Fragment,{children:[" · ",ae(t.pushedAt)]})]}),t.commitMessage&&e.jsx("div",{className:"mt-1 font-mono text-meta text-ui-success",children:t.commitMessage})]})}function Ts({history:t,currentFixId:s}){const n=t.filter(a=>a.pushedAt!=null&&a.id!==s);return n.length===0?null:e.jsxs("div",{className:"mt-6",children:[e.jsx("div",{className:"mb-2 text-title text-ui-ink",children:"Earlier fixes pushed"}),e.jsx("ul",{className:"space-y-2",children:n.map(a=>e.jsxs("li",{className:"text-meta",children:[e.jsx("div",{className:"font-mono text-ui-ink",children:a.commitMessage??"(no commit message)"}),e.jsxs("div",{className:"mt-0.5 text-meta text-ui-faint",children:[a.pushedBranch&&e.jsx("span",{className:"font-mono",children:a.pushedBranch}),a.pushedPrUrl&&e.jsxs(e.Fragment,{children:[" · ",e.jsxs("a",{href:Oe(a.pushedPrUrl),target:"_blank",rel:"noreferrer",className:"hit underline",children:["PR #",a.pushedPrNumber]})]}),a.pushedAt&&e.jsxs(e.Fragment,{children:[" · ",ae(a.pushedAt)]})]})]},a.id))})]})}function Ss({pr:t,fix:s,headInfo:n,viewerCanPush:a}){const i=Kt(t.id),l=(n==null?void 0:n.canPushSameBranch)??!1,[o,g]=p.useState(l?"existing":"new"),[c,m]=p.useState((n==null?void 0:n.suggestedBranch)??""),v=p.useRef(!1);if(p.useEffect(()=>{!v.current&&(n!=null&&n.suggestedBranch)&&(m(n.suggestedBranch),v.current=!0,n.canPushSameBranch||g("new"))},[n]),s.pushedAt!=null)return e.jsx(Is,{fix:s});if(!a)return e.jsx("p",{className:"mt-2 text-meta text-ui-mute",children:"You need write access to push this fix."});const F=o==="new"&&c.trim().length===0,u=i.isPending,k=()=>{i.mutate({fixId:s.id,body:{target:o,branch:o==="new"?c.trim():void 0}})};return e.jsxs("div",{className:"mt-3 rounded-ui bg-ui-surface p-2",children:[s.commitMessage&&e.jsx("div",{className:"mb-2 rounded-ui bg-ui-surface px-2 py-1 font-mono text-meta text-ui-ink",title:"Commit message",children:s.commitMessage}),e.jsxs("label",{className:`flex items-center gap-2 text-meta ${l?"":"opacity-40"}`,title:l?void 0:"The PR head is a fork you cannot push to — use a new branch",children:[e.jsx(ve,{className:"mt-0",checked:o==="existing",disabled:!l||u,onChange:()=>g("existing")}),"Push to the PR branch",(n==null?void 0:n.headRef)&&e.jsxs("span",{className:"font-mono text-ui-faint",children:["(",n.headRef,")"]})]}),e.jsxs("label",{className:"mt-1 flex items-center gap-2 text-meta",children:[e.jsx(ve,{className:"mt-0",checked:o==="new",disabled:u,onChange:()=>g("new")}),"New branch + open a PR"]}),o==="new"&&e.jsx("input",{type:"text",className:"mt-1 w-full rounded-ui bg-ui-raise px-2 py-1 font-mono text-meta ring-1 ring-inset ring-ui-line focus:outline-none focus:ring-2 focus:ring-ui-accent touch:min-h-10",value:c,disabled:u,onChange:M=>m(M.target.value),placeholder:"branch-name"}),e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[e.jsx("button",{type:"button",className:te,disabled:u||F,onClick:k,children:u?"Pushing…":o==="new"?"Push + open PR":"Push"}),e.jsx(Vt,{checks:s.checks})]}),i.isError&&e.jsx("div",{className:"mt-2 text-meta text-ui-danger",children:se(i.error)})]})}export{Os as AiFixTab};
@@ -1,4 +1,4 @@
1
- import{j as e,r as f,d as Bt,k as Qs}from"./tanstack-BnbsafB1.js";import{bS as os,bE as et,b2 as tt,aZ as st,a_ as nt,$ as cs,aT as us,c as ye,aV as We,aR as Ve,bY as ds,ax as ms,cn as ct,bL as Xs,cc as Js,cb as Zs,ar as ee,ad as it,v as ve,T as te,ab as ue,bw as en,b$ as ae,aX as hs,bf as tn,be as sn,o as nn,aC as Ht,n as an,ca as ln,aD as rn,B as on,O as Ie,ag as q,a8 as ne,cd as cn,F as un,cZ as dn,h as mn,g as xs,e as le,a2 as hn,cC as xn,c9 as pn,c8 as fn,ae as ut,cj as de,ct as ps,d4 as gn,cv as bn,cw as jn,cu as yn,bc as Te,cG as fs,bd as vn,b8 as kn,an as dt,ba as Nn,l as wn,bb as Cn,af as J,V as ce,b9 as Rn,az as gs,i as ke,b7 as $n,as as Pe,f as bs,k as Sn,q as Se,aM as mt,cU as In,cY as Pn,cQ as En,aw as ht,cV as _n,cK as An,a5 as Tn,bQ as Q,bR as ze,D as Ln,c2 as Fn,aH as Ot,bK as Mn,dc as xt,d8 as Bn,da as Hn,db as On,d9 as Dn,ce as Un,bD as Gn,bi as Wn,by as js,c7 as ys,U as Vn,aF as zn,aE as qn,H as Kn,bP as Yn,aA as vs,cg as Qn,aG as Xn,aI as Jn,d7 as ks,z as Zn,bN as Ns,cf as ei,c6 as ti,b6 as si,ch as ni,dh as ii,y as ai,bx as li,cN as ri,aB as oi,G as ci,X as ui,_ as di,M as mi,a7 as hi,bj as xi,c4 as pi,bB as fi,cx as gi,c$ as bi,cI as ji,cA as yi,cr as vi,df as ki,de as Ni,cR as wi,cP as Ci,bn as Ri,cB as $i,d1 as ws,cy as Si,aU as Cs,a9 as Ii,ai as Pi,aj as je,ak as Ei,Z as _i,bk as Be,P as He,d as Ai,aY as Dt,bv as Ti,bI as Li,am as Rs,aN as Fi,a$ as Ut,W as $s,bs as Mi,dk as Bi,bA as Hi,bM as Oi,c1 as Di,bU as Ui,aW as Gi,br as Wi,c0 as Vi,cs as zi,cX as qi,bG as Ki,bX as Yi,Q as Ss,x as Qi,r as Xi,c5 as Ji,N as Zi,al as ea,w as ta,ao as sa,bm as na,ac as at,av as Is,m as ia,bo as aa,aa as Gt,b as Xe,bO as Wt,bT as la,b0 as Vt,L as ra,ay as oa,bW as ca,cz as ua,bZ as da,aq as ma,b_ as ha,cS as xa,at as pa,a6 as fa,ci as ga,c_ as ba,dg as ja,d0 as ya,b1 as va,dj as ka,bH as Na,d3 as wa,aK as Ca,aJ as Ra,aL as $a,cJ as Sa,bu as zt,bt as Ia,bz as Pa,dl as Ps,b4 as Ea,a1 as _a,J as Aa}from"./index-BlQbP_2V.js";const Ta="https://sonarcloud.io",La={blocker:"Blocker",critical:"Critical",major:"Major",minor:"Minor",info:"Info"},Fa={new_coverage:"Coverage on new code",coverage:"Coverage",new_line_coverage:"Line coverage on new code",line_coverage:"Line coverage",new_branch_coverage:"Branch coverage on new code",branch_coverage:"Branch coverage",new_uncovered_lines:"Uncovered new lines",uncovered_lines:"Uncovered lines",new_lines_to_cover:"New lines to cover",new_duplicated_lines_density:"Duplicated lines on new code",duplicated_lines_density:"Duplicated lines",new_duplicated_lines:"Duplicated new lines",duplicated_lines:"Duplicated lines",new_lines:"New lines",new_reliability_rating:"Reliability rating on new code",new_security_rating:"Security rating on new code",new_maintainability_rating:"Maintainability rating on new code",new_security_review_rating:"Security review rating on new code",new_security_hotspots_reviewed:"Security hotspots reviewed",new_violations:"Issues on new code",new_bugs:"Bugs on new code",new_vulnerabilities:"Vulnerabilities on new code",new_code_smells:"Code smells on new code"};function pt(t){return Fa[t]??t.replace(/^new_/,"").replace(/_/g," ").replace(/^./,s=>s.toUpperCase())}const Es=t=>/_rating$/.test(t),Ma=t=>/(coverage|density|hotspots_reviewed)$/.test(t);function lt(t,s){const n=Number(s);return Number.isFinite(n)?Es(t)?"ABCDE"[Math.round(n)-1]??s:Ma(t)?`${Math.round(n*10)/10}%`:String(n):s}function Ba(t){const s=pt(t.metric),n=t.actual!=null?lt(t.metric,t.actual):null,l=t.threshold!=null?lt(t.metric,t.threshold):null,r=n!=null?`${s} is ${n}.`:`${s} fails.`;if(l==null)return r;const o=Es(t.metric)?`${l} or better`:t.comparator==="LT"?`at least ${l}`:t.comparator==="GT"?`at most ${l}`:l;return`${r} The quality gate needs ${o}.`}function Ha(t){return((t==null?void 0:t.conditions)??[]).filter(s=>s.status==="ERROR"||s.status==="WARN")}const _s=t=>/coverage|uncovered_lines|lines_to_cover/.test(t),Oa=t=>/duplicat/.test(t);function Da(t){return _s(t)||Oa(t)}function Ua(t,s){return Ha(t).filter(n=>Da(n.metric)).map(n=>{const l=_s(n.metric),r=n.files??[],o=r.length>0?`
1
+ import{j as e,r as f,d as Bt,k as Qs}from"./tanstack-BnbsafB1.js";import{bS as os,bE as et,b2 as tt,aZ as st,a_ as nt,$ as cs,aT as us,c as ye,aV as We,aR as Ve,bY as ds,ax as ms,cn as ct,bL as Xs,cc as Js,cb as Zs,ar as ee,ad as it,v as ve,T as te,ab as ue,bw as en,b$ as ae,aX as hs,bf as tn,be as sn,o as nn,aC as Ht,n as an,ca as ln,aD as rn,B as on,O as Ie,ag as q,a8 as ne,cd as cn,F as un,cZ as dn,h as mn,g as xs,e as le,a2 as hn,cC as xn,c9 as pn,c8 as fn,ae as ut,cj as de,ct as ps,d4 as gn,cv as bn,cw as jn,cu as yn,bc as Te,cG as fs,bd as vn,b8 as kn,an as dt,ba as Nn,l as wn,bb as Cn,af as J,V as ce,b9 as Rn,az as gs,i as ke,b7 as $n,as as Pe,f as bs,k as Sn,q as Se,aM as mt,cU as In,cY as Pn,cQ as En,aw as ht,cV as _n,cK as An,a5 as Tn,bQ as Q,bR as ze,D as Ln,c2 as Fn,aH as Ot,bK as Mn,dc as xt,d8 as Bn,da as Hn,db as On,d9 as Dn,ce as Un,bD as Gn,bi as Wn,by as js,c7 as ys,U as Vn,aF as zn,aE as qn,H as Kn,bP as Yn,aA as vs,cg as Qn,aG as Xn,aI as Jn,d7 as ks,z as Zn,bN as Ns,cf as ei,c6 as ti,b6 as si,ch as ni,dh as ii,y as ai,bx as li,cN as ri,aB as oi,G as ci,X as ui,_ as di,M as mi,a7 as hi,bj as xi,c4 as pi,bB as fi,cx as gi,c$ as bi,cI as ji,cA as yi,cr as vi,df as ki,de as Ni,cR as wi,cP as Ci,bn as Ri,cB as $i,d1 as ws,cy as Si,aU as Cs,a9 as Ii,ai as Pi,aj as je,ak as Ei,Z as _i,bk as Be,P as He,d as Ai,aY as Dt,bv as Ti,bI as Li,am as Rs,aN as Fi,a$ as Ut,W as $s,bs as Mi,dk as Bi,bA as Hi,bM as Oi,c1 as Di,bU as Ui,aW as Gi,br as Wi,c0 as Vi,cs as zi,cX as qi,bG as Ki,bX as Yi,Q as Ss,x as Qi,r as Xi,c5 as Ji,N as Zi,al as ea,w as ta,ao as sa,bm as na,ac as at,av as Is,m as ia,bo as aa,aa as Gt,b as Xe,bO as Wt,bT as la,b0 as Vt,L as ra,ay as oa,bW as ca,cz as ua,bZ as da,aq as ma,b_ as ha,cS as xa,at as pa,a6 as fa,ci as ga,c_ as ba,dg as ja,d0 as ya,b1 as va,dj as ka,bH as Na,d3 as wa,aK as Ca,aJ as Ra,aL as $a,cJ as Sa,bu as zt,bt as Ia,bz as Pa,dl as Ps,b4 as Ea,a1 as _a,J as Aa}from"./index-Bk94ZJq7.js";const Ta="https://sonarcloud.io",La={blocker:"Blocker",critical:"Critical",major:"Major",minor:"Minor",info:"Info"},Fa={new_coverage:"Coverage on new code",coverage:"Coverage",new_line_coverage:"Line coverage on new code",line_coverage:"Line coverage",new_branch_coverage:"Branch coverage on new code",branch_coverage:"Branch coverage",new_uncovered_lines:"Uncovered new lines",uncovered_lines:"Uncovered lines",new_lines_to_cover:"New lines to cover",new_duplicated_lines_density:"Duplicated lines on new code",duplicated_lines_density:"Duplicated lines",new_duplicated_lines:"Duplicated new lines",duplicated_lines:"Duplicated lines",new_lines:"New lines",new_reliability_rating:"Reliability rating on new code",new_security_rating:"Security rating on new code",new_maintainability_rating:"Maintainability rating on new code",new_security_review_rating:"Security review rating on new code",new_security_hotspots_reviewed:"Security hotspots reviewed",new_violations:"Issues on new code",new_bugs:"Bugs on new code",new_vulnerabilities:"Vulnerabilities on new code",new_code_smells:"Code smells on new code"};function pt(t){return Fa[t]??t.replace(/^new_/,"").replace(/_/g," ").replace(/^./,s=>s.toUpperCase())}const Es=t=>/_rating$/.test(t),Ma=t=>/(coverage|density|hotspots_reviewed)$/.test(t);function lt(t,s){const n=Number(s);return Number.isFinite(n)?Es(t)?"ABCDE"[Math.round(n)-1]??s:Ma(t)?`${Math.round(n*10)/10}%`:String(n):s}function Ba(t){const s=pt(t.metric),n=t.actual!=null?lt(t.metric,t.actual):null,l=t.threshold!=null?lt(t.metric,t.threshold):null,r=n!=null?`${s} is ${n}.`:`${s} fails.`;if(l==null)return r;const o=Es(t.metric)?`${l} or better`:t.comparator==="LT"?`at least ${l}`:t.comparator==="GT"?`at most ${l}`:l;return`${r} The quality gate needs ${o}.`}function Ha(t){return((t==null?void 0:t.conditions)??[]).filter(s=>s.status==="ERROR"||s.status==="WARN")}const _s=t=>/coverage|uncovered_lines|lines_to_cover/.test(t),Oa=t=>/duplicat/.test(t);function Da(t){return _s(t)||Oa(t)}function Ua(t,s){return Ha(t).filter(n=>Da(n.metric)).map(n=>{const l=_s(n.metric),r=n.files??[],o=r.length>0?`
2
2
 
3
3
  Files with the most ${l?"uncovered":"duplicated"} new lines:
4
4
  ${r.map(c=>`- ${c.path}: ${c.lines} ${c.lines===1?"line":"lines"}`).join(`
@@ -1 +1 @@
1
- import{r as w,j as s}from"./tanstack-BnbsafB1.js";import{cT as j,c_ as y,cp as N,T as b,b3 as g,di as k,bS as v,aM as f,ap as T,E as C,bl as x,bq as $}from"./index-BlQbP_2V.js";import"./markdown-CcoLFczy.js";import"./highlight-DIEV0qGG.js";import"./vis-C3BCkP5U.js";function h(e){return e==null?"—":$(e)}function B(e){const t=[];for(const i of e){const a=v(i.at),n=t[t.length-1];if(n&&n.label===a){n.to=i.at,n.count+=1,i.kind==="review"?n.reviews+=1:n.comments+=1;continue}t.push({from:i.at,to:i.at,label:a,count:1,reviews:i.kind==="review"?1:0,comments:i.kind==="review"?0:1})}return t}function I(e){const t=[];return e.reviews>0&&t.push(`${e.reviews} review${e.reviews===1?"":"s"}`),e.comments>0&&t.push(`${e.comments} comment${e.comments===1?"":"s"}`),t.join(", ")}const P=40;function d({label:e,value:t,tone:i}){return s.jsxs("div",{children:[s.jsx("div",{className:"text-meta font-semibold text-ui-mute",children:e}),s.jsx("div",{className:`text-body font-semibold ${i==="warn"?"text-ui-danger":"text-ui-ink"}`,children:t})]})}function R({bot:e,color:t}){const i=g(e.kind),a=e.ttfrAnomaly,n=e.typicalTtfrHours==null,c=e.typicalFollowups!=null&&e.followupCount>=e.typicalFollowups+2,u=B(e.touches),r=u.slice(0,P),l=e.touches.length-r.reduce((o,p)=>o+p.count,0),m=n?"building baseline":a?`slower than typical — usually ${h(e.typicalTtfrHours)}`:`within typical (${h(e.typicalTtfrHours)})`;return s.jsxs("div",{className:"space-y-2 rounded-ui border border-ui-line p-3",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-body font-semibold text-ui-ink",children:[s.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-full",style:{background:t},"aria-hidden":!0}),e.label]}),s.jsx("span",{className:"rounded-ui px-1.5 py-0.5 text-meta font-medium",style:{...k(i.color),background:`${i.color}1a`},children:i.label}),e.firstTouchAt&&s.jsxs("span",{className:"text-meta text-ui-mute",children:["first touch ",v(e.firstTouchAt)]}),a&&s.jsxs("span",{className:"rounded-ui bg-ui-danger/10 px-1.5 py-0.5 text-meta font-semibold text-ui-danger",children:[s.jsx(f,{size:11,className:"inline-block align-[-0.1em]"})," slower than usual"]})]}),s.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[s.jsx(d,{label:"Time to first review",value:h(e.ttfrHours),tone:a?"warn":"default"}),s.jsx(d,{label:"Follow-ups",value:String(e.followupCount),tone:c?"warn":"default"}),s.jsx(d,{label:"Comments",value:String(e.commentCount)}),s.jsx(d,{label:"Touches",value:String(e.touchCount)})]}),s.jsxs("div",{className:"text-meta text-ui-mute",children:[s.jsxs("span",{className:a?"font-medium text-ui-danger":"",children:[!n&&a&&s.jsx(f,{size:11,className:"mr-1 inline-block align-[-0.1em]"}),m]}),e.ttfrBasis&&!n&&s.jsxs("span",{children:[" · from ",e.ttfrBasis==="ready"?"ready-for-review":"opened"]}),e.typicalFollowups!=null&&s.jsxs("span",{children:[" · ",e.followupCount," follow-up",e.followupCount===1?"":"s"," vs ",e.typicalFollowups," typical",c?" (more than usual)":""]}),!n&&s.jsxs("span",{children:[" · baseline: ",e.baselinePrs," PRs"]})]}),u.length>0&&s.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[r.map((o,p)=>s.jsxs("span",{className:"inline-flex items-center gap-1 rounded-ui bg-ui-raise px-1.5 py-0.5 text-meta text-ui-mute",title:`${o.count>1?`${I(o)} · `:""}${o.from===o.to?x(o.from):`${x(o.from)} – ${x(o.to)}`}`,children:[o.reviews>0&&s.jsx(T,{size:11}),o.comments>0&&s.jsx(C,{size:11}),o.count>1&&s.jsxs("span",{className:"font-medium",children:["×",o.count]}),o.label]},p)),l>0&&s.jsxs("span",{className:"text-meta text-ui-mute",children:["+",l," more touches"]})]})]})}function z({pr:e}){const{data:t,isLoading:i,isError:a}=j(e.id,!0),{data:n}=y(),c=w.useMemo(()=>{var l;return((l=(n??[]).find(m=>m.id===e.repoId))==null?void 0:l.workspaceId)??null},[n,e.repoId]),u=N(c),r=(t==null?void 0:t.bots)??[];return s.jsxs("div",{className:"space-y-3 p-4",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs(b,{title:"Bot activity",children:[s.jsx("p",{children:"How each review bot behaved on this pull request, compared with its own usual over the last 84 days. No AI is involved."}),s.jsx("p",{children:"A touch is one review or one comment, so a review submitted with three inline comments counts as four."})]}),s.jsx("span",{className:"text-meta text-ui-mute",children:"Each bot against its own usual"})]}),i?s.jsx("div",{className:"h-24 animate-pulse rounded-ui bg-ui-surface"}):a?s.jsx("div",{className:"text-body text-ui-danger",children:"Couldn’t load bot behaviour for this PR."}):r.length===0?s.jsx("div",{className:"rounded-ui border border-dashed border-ui-line p-6 text-center text-body text-ui-mute",children:"No automated-reviewer activity on this PR."}):r.map(l=>s.jsx(R,{bot:l,color:u({login:l.login,kind:l.kind})},l.key))]})}export{z as PrBotBehaviourTab};
1
+ import{r as w,j as s}from"./tanstack-BnbsafB1.js";import{cT as j,c_ as y,cp as N,T as b,b3 as g,di as k,bS as v,aM as f,ap as T,E as C,bl as x,bq as $}from"./index-Bk94ZJq7.js";import"./markdown-CcoLFczy.js";import"./highlight-DIEV0qGG.js";import"./vis-C3BCkP5U.js";function h(e){return e==null?"—":$(e)}function B(e){const t=[];for(const i of e){const a=v(i.at),n=t[t.length-1];if(n&&n.label===a){n.to=i.at,n.count+=1,i.kind==="review"?n.reviews+=1:n.comments+=1;continue}t.push({from:i.at,to:i.at,label:a,count:1,reviews:i.kind==="review"?1:0,comments:i.kind==="review"?0:1})}return t}function I(e){const t=[];return e.reviews>0&&t.push(`${e.reviews} review${e.reviews===1?"":"s"}`),e.comments>0&&t.push(`${e.comments} comment${e.comments===1?"":"s"}`),t.join(", ")}const P=40;function d({label:e,value:t,tone:i}){return s.jsxs("div",{children:[s.jsx("div",{className:"text-meta font-semibold text-ui-mute",children:e}),s.jsx("div",{className:`text-body font-semibold ${i==="warn"?"text-ui-danger":"text-ui-ink"}`,children:t})]})}function R({bot:e,color:t}){const i=g(e.kind),a=e.ttfrAnomaly,n=e.typicalTtfrHours==null,c=e.typicalFollowups!=null&&e.followupCount>=e.typicalFollowups+2,u=B(e.touches),r=u.slice(0,P),l=e.touches.length-r.reduce((o,p)=>o+p.count,0),m=n?"building baseline":a?`slower than typical — usually ${h(e.typicalTtfrHours)}`:`within typical (${h(e.typicalTtfrHours)})`;return s.jsxs("div",{className:"space-y-2 rounded-ui border border-ui-line p-3",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs("span",{className:"inline-flex items-center gap-1.5 text-body font-semibold text-ui-ink",children:[s.jsx("span",{className:"inline-block h-2.5 w-2.5 rounded-full",style:{background:t},"aria-hidden":!0}),e.label]}),s.jsx("span",{className:"rounded-ui px-1.5 py-0.5 text-meta font-medium",style:{...k(i.color),background:`${i.color}1a`},children:i.label}),e.firstTouchAt&&s.jsxs("span",{className:"text-meta text-ui-mute",children:["first touch ",v(e.firstTouchAt)]}),a&&s.jsxs("span",{className:"rounded-ui bg-ui-danger/10 px-1.5 py-0.5 text-meta font-semibold text-ui-danger",children:[s.jsx(f,{size:11,className:"inline-block align-[-0.1em]"})," slower than usual"]})]}),s.jsxs("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-4",children:[s.jsx(d,{label:"Time to first review",value:h(e.ttfrHours),tone:a?"warn":"default"}),s.jsx(d,{label:"Follow-ups",value:String(e.followupCount),tone:c?"warn":"default"}),s.jsx(d,{label:"Comments",value:String(e.commentCount)}),s.jsx(d,{label:"Touches",value:String(e.touchCount)})]}),s.jsxs("div",{className:"text-meta text-ui-mute",children:[s.jsxs("span",{className:a?"font-medium text-ui-danger":"",children:[!n&&a&&s.jsx(f,{size:11,className:"mr-1 inline-block align-[-0.1em]"}),m]}),e.ttfrBasis&&!n&&s.jsxs("span",{children:[" · from ",e.ttfrBasis==="ready"?"ready-for-review":"opened"]}),e.typicalFollowups!=null&&s.jsxs("span",{children:[" · ",e.followupCount," follow-up",e.followupCount===1?"":"s"," vs ",e.typicalFollowups," typical",c?" (more than usual)":""]}),!n&&s.jsxs("span",{children:[" · baseline: ",e.baselinePrs," PRs"]})]}),u.length>0&&s.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[r.map((o,p)=>s.jsxs("span",{className:"inline-flex items-center gap-1 rounded-ui bg-ui-raise px-1.5 py-0.5 text-meta text-ui-mute",title:`${o.count>1?`${I(o)} · `:""}${o.from===o.to?x(o.from):`${x(o.from)} – ${x(o.to)}`}`,children:[o.reviews>0&&s.jsx(T,{size:11}),o.comments>0&&s.jsx(C,{size:11}),o.count>1&&s.jsxs("span",{className:"font-medium",children:["×",o.count]}),o.label]},p)),l>0&&s.jsxs("span",{className:"text-meta text-ui-mute",children:["+",l," more touches"]})]})]})}function z({pr:e}){const{data:t,isLoading:i,isError:a}=j(e.id,!0),{data:n}=y(),c=w.useMemo(()=>{var l;return((l=(n??[]).find(m=>m.id===e.repoId))==null?void 0:l.workspaceId)??null},[n,e.repoId]),u=N(c),r=(t==null?void 0:t.bots)??[];return s.jsxs("div",{className:"space-y-3 p-4",children:[s.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[s.jsxs(b,{title:"Bot activity",children:[s.jsx("p",{children:"How each review bot behaved on this pull request, compared with its own usual over the last 84 days. No AI is involved."}),s.jsx("p",{children:"A touch is one review or one comment, so a review submitted with three inline comments counts as four."})]}),s.jsx("span",{className:"text-meta text-ui-mute",children:"Each bot against its own usual"})]}),i?s.jsx("div",{className:"h-24 animate-pulse rounded-ui bg-ui-surface"}):a?s.jsx("div",{className:"text-body text-ui-danger",children:"Couldn’t load bot behaviour for this PR."}):r.length===0?s.jsx("div",{className:"rounded-ui border border-dashed border-ui-line p-6 text-center text-body text-ui-mute",children:"No automated-reviewer activity on this PR."}):r.map(l=>s.jsx(R,{bot:l,color:u({login:l.login,kind:l.kind})},l.key))]})}export{z as PrBotBehaviourTab};
@@ -0,0 +1 @@
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-x-1{left:.25rem;right:.25rem}.inset-y-0{top:0;bottom:0}.inset-y-2{top:.5rem;bottom:.5rem}.-bottom-0\.5{bottom:-.125rem}.-left-1{left:-.25rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-3{right:-.75rem}.-right-\[5px\]{right:-5px}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-\[3px\]{top:-3px}.-top-px{top:-1px}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-2{left:.5rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-\[15px\]{top:15px}.top-\[var\(--diff-sticky-top\,0px\)\]{top:var(--diff-sticky-top,0px)}.top-\[var\(--pr-tabs-h\,0px\)\]{top:var(--pr-tabs-h,0px)}.top-full{top:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[55\]{z-index:55}.z-\[56\]{z-index:56}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mb-2{margin-bottom:-.5rem}.-mb-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.-mr-1{margin-right:-.25rem}.-mr-1\.5{margin-right:-.375rem}.-mt-0\.5{margin-top:-.125rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-2\.5{margin-left:.625rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-8{margin-left:2rem}.ml-\[21px\]{margin-left:21px}.ml-\[6\.5rem\]{margin-left:6.5rem}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-px{margin-top:1px}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.\!inline-flex{display:inline-flex!important}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-44{height:11rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[120px\]{height:120px}.h-\[132px\]{height:132px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[46px\]{height:46px}.h-full{height:100%}.h-px{height:1px}.h-row{height:36px}.h-row-touch{height:44px}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-52{max-height:13rem}.max-h-56{max-height:14rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[28rem\]{max-height:28rem}.max-h-\[32rem\]{max-height:32rem}.max-h-\[4\.6rem\]{max-height:4.6rem}.max-h-\[40rem\]{max-height:40rem}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[88vh\]{max-height:88vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[calc\(100vh-4rem\)\]{max-height:calc(100vh - 4rem)}.max-h-\[calc\(100vh-6rem\)\]{max-height:calc(100vh - 6rem)}.max-h-\[min\(24rem\,70vh\)\]{max-height:min(24rem,70vh)}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-11{min-height:2.75rem}.min-h-28{min-height:7rem}.min-h-6{min-height:1.5rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-\[1\.75rem\]{min-height:1.75rem}.min-h-\[18px\]{min-height:18px}.min-h-\[26px\]{min-height:26px}.min-h-\[32rem\]{min-height:32rem}.min-h-\[40px\]{min-height:40px}.min-h-screen{min-height:100vh}.\!w-10{width:2.5rem!important}.\!w-8{width:2rem!important}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[11rem\]{width:11rem}.w-\[18px\]{width:18px}.w-\[22rem\]{width:22rem}.w-\[24rem\]{width:24rem}.w-\[26rem\]{width:26rem}.w-\[28rem\]{width:28rem}.w-\[340px\]{width:340px}.w-\[34rem\]{width:34rem}.w-\[36rem\]{width:36rem}.w-\[440px\]{width:440px}.w-\[44rem\]{width:44rem}.w-\[46rem\]{width:46rem}.w-\[5\.5rem\]{width:5.5rem}.w-\[60rem\]{width:60rem}.w-\[7\.5rem\]{width:7.5rem}.w-\[8\.5rem\]{width:8.5rem}.w-\[9\.5rem\]{width:9.5rem}.w-\[calc\(100\%\+0\.75rem\)\]{width:calc(100% + .75rem)}.w-\[min\(18rem\,86vw\)\]{width:min(18rem,86vw)}.w-\[min\(18rem\,calc\(100vw-1\.5rem\)\)\]{width:min(18rem,calc(100vw - 1.5rem))}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-panel{width:400px}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-28{min-width:7rem}.min-w-4{min-width:1rem}.min-w-\[0\.875rem\]{min-width:.875rem}.min-w-\[1\.25rem\]{min-width:1.25rem}.min-w-\[1080px\]{min-width:1080px}.min-w-\[12rem\]{min-width:12rem}.min-w-\[14rem\]{min-width:14rem}.min-w-\[1560px\]{min-width:1560px}.min-w-\[18px\]{min-width:18px}.min-w-\[200px\]{min-width:200px}.min-w-\[26rem\]{min-width:26rem}.min-w-\[32rem\]{min-width:32rem}.min-w-\[380px\]{min-width:380px}.min-w-\[4\.75rem\]{min-width:4.75rem}.min-w-\[420px\]{min-width:420px}.min-w-\[440px\]{min-width:440px}.min-w-\[46rem\]{min-width:46rem}.min-w-\[480px\]{min-width:480px}.min-w-\[4rem\]{min-width:4rem}.min-w-\[520px\]{min-width:520px}.min-w-\[560px\]{min-width:560px}.min-w-\[720px\]{min-width:720px}.min-w-\[760px\]{min-width:760px}.min-w-\[852px\]{min-width:852px}.min-w-\[940px\]{min-width:940px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-56{max-width:14rem}.max-w-5xl{max-width:64rem}.max-w-\[100rem\]{max-width:100rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[11rem\]{max-width:11rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[14rem\]{max-width:14rem}.max-w-\[16rem\]{max-width:16rem}.max-w-\[18rem\]{max-width:18rem}.max-w-\[220px\]{max-width:220px}.max-w-\[22rem\]{max-width:22rem}.max-w-\[26rem\]{max-width:26rem}.max-w-\[40\%\]{max-width:40%}.max-w-\[44rem\]{max-width:44rem}.max-w-\[45\%\]{max-width:45%}.max-w-\[46rem\]{max-width:46rem}.max-w-\[60\%\]{max-width:60%}.max-w-\[61\.5rem\]{max-width:61.5rem}.max-w-\[62\%\]{max-width:62%}.max-w-\[8rem\]{max-width:8rem}.max-w-\[90vw\]{max-width:90vw}.max-w-\[92vw\]{max-width:92vw}.max-w-\[94vw\]{max-width:94vw}.max-w-\[96vw\]{max-width:96vw}.max-w-\[9rem\]{max-width:9rem}.max-w-\[calc\(100vw-1\.5rem\)\]{max-width:calc(100vw - 1.5rem)}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[min\(20rem\,90vw\)\]{max-width:min(20rem,90vw)}.max-w-\[min\(280px\,92vw\)\]{max-width:min(280px,92vw)}.max-w-\[min\(28rem\,92vw\)\]{max-width:min(28rem,92vw)}.max-w-\[min\(320px\,92vw\)\]{max-width:min(320px,92vw)}.max-w-\[min\(34rem\,45\%\)\]{max-width:min(34rem,45%)}.max-w-\[var\(--chart-vw\,100\%\)\]{max-width:var(--chart-vw,100%)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.shrink-\[4\]{flex-shrink:4}.grow{flex-grow:1}.basis-64,.basis-\[16rem\]{flex-basis:16rem}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x: 0px;--tw-border-spacing-y: 0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-3{--tw-translate-x: -.75rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-1px\]{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[2px\]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-px{--tw-translate-y: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes ui-pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.animate-ui-pop{animation:ui-pop .14s cubic-bezier(.2,.7,.2,1)}.cursor-\[inherit\]{cursor:inherit}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-proximity{--tw-scroll-snap-strictness: proximity}.snap-start{scroll-snap-align:start}.scroll-mt-4{scroll-margin-top:1rem}.scroll-mt-\[var\(--diff-sticky-top\,0px\)\]{scroll-margin-top:var(--diff-sticky-top,0px)}.scroll-mt-\[var\(--pr-tabs-h\,0px\)\]{scroll-margin-top:var(--pr-tabs-h,0px)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[3\.25rem_1fr_3\.5rem\]{grid-template-columns:3.25rem 1fr 3.5rem}.grid-cols-\[5\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:5.5rem minmax(0,1fr)}.grid-cols-\[7\.5rem_1fr_3rem\]{grid-template-columns:7.5rem 1fr 3rem}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-cols-\[minmax\(0\,70rem\)_minmax\(18rem\,24rem\)\]{grid-template-columns:minmax(0,70rem) minmax(18rem,24rem)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-\[0\.35em\]{gap:.35em}.gap-px{gap:1px}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.gap-x-10{-moz-column-gap:2.5rem;column-gap:2.5rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-2\.5{-moz-column-gap:.625rem;column-gap:.625rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-5{row-gap:1.25rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-7>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.75rem * var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-ui-line>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(var(--ui-line) / var(--tw-divide-opacity, 1))}.divide-ui-line\/60>:not([hidden])~:not([hidden]){border-color:rgb(var(--ui-line) / .6)}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-clip{overflow:clip}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.overscroll-x-contain{overscroll-behavior-x:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[1px\]{border-radius:1px}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:9999px}.rounded-ui{border-radius:6px}.rounded-b-ui{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-l-ui{border-top-left-radius:6px;border-bottom-left-radius:6px}.rounded-r-ui{border-top-right-radius:6px;border-bottom-right-radius:6px}.rounded-t-ui{border-top-left-radius:6px;border-top-right-radius:6px}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-\[1\.5px\]{border-top-width:1.5px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-ai-border{--tw-border-opacity: 1;border-color:rgb(var(--ai-border) / var(--tw-border-opacity, 1))}.border-ai-hairline{--tw-border-opacity: 1;border-color:rgb(var(--ai-hairline) / var(--tw-border-opacity, 1))}.border-ai-signal-fill{--tw-border-opacity: 1;border-color:rgb(var(--ai-signal-fill) / var(--tw-border-opacity, 1))}.border-ai-signal-fill\/70{border-color:rgb(var(--ai-signal-fill) / .7)}.border-ai-signal\/50{border-color:rgb(var(--ai-signal) / .5)}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-ui-accent{--tw-border-opacity: 1;border-color:rgb(var(--ui-accent) / var(--tw-border-opacity, 1))}.border-ui-accent-fill{--tw-border-opacity: 1;border-color:rgb(var(--ui-accent-fill) / var(--tw-border-opacity, 1))}.border-ui-danger\/40{border-color:rgb(var(--ui-danger) / .4)}.border-ui-faint{--tw-border-opacity: 1;border-color:rgb(var(--ui-faint) / var(--tw-border-opacity, 1))}.border-ui-ink{--tw-border-opacity: 1;border-color:rgb(var(--ui-ink) / var(--tw-border-opacity, 1))}.border-ui-line{--tw-border-opacity: 1;border-color:rgb(var(--ui-line) / var(--tw-border-opacity, 1))}.border-ui-line\/50{border-color:rgb(var(--ui-line) / .5)}.border-ui-line\/60{border-color:rgb(var(--ui-line) / .6)}.border-ui-line\/70{border-color:rgb(var(--ui-line) / .7)}.border-ui-mute{--tw-border-opacity: 1;border-color:rgb(var(--ui-mute) / var(--tw-border-opacity, 1))}.border-b-white{--tw-border-opacity: 1;border-bottom-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-l-red-400{--tw-border-opacity: 1;border-left-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.border-l-ui-danger\/40{border-left-color:rgb(var(--ui-danger) / .4)}.border-l-ui-line{--tw-border-opacity: 1;border-left-color:rgb(var(--ui-line) / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.border-t-ui-line{--tw-border-opacity: 1;border-top-color:rgb(var(--ui-line) / var(--tw-border-opacity, 1))}.bg-\[\#8957e5\]\/15{background-color:#8957e526}.bg-ai-border{--tw-bg-opacity: 1;background-color:rgb(var(--ai-border) / var(--tw-bg-opacity, 1))}.bg-ai-signal{--tw-bg-opacity: 1;background-color:rgb(var(--ai-signal) / var(--tw-bg-opacity, 1))}.bg-ai-signal-fill{--tw-bg-opacity: 1;background-color:rgb(var(--ai-signal-fill) / var(--tw-bg-opacity, 1))}.bg-ai-signal-fill\/10{background-color:rgb(var(--ai-signal-fill) / .1)}.bg-ai-signal-fill\/15{background-color:rgb(var(--ai-signal-fill) / .15)}.bg-ai-signal\/10{background-color:rgb(var(--ai-signal) / .1)}.bg-ai-signal\/15{background-color:rgb(var(--ai-signal) / .15)}.bg-ai-surface{--tw-bg-opacity: 1;background-color:rgb(var(--ai-surface) / var(--tw-bg-opacity, 1))}.bg-ai-surface-2{--tw-bg-opacity: 1;background-color:rgb(var(--ai-surface-2) / var(--tw-bg-opacity, 1))}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-ui-accent{--tw-bg-opacity: 1;background-color:rgb(var(--ui-accent) / var(--tw-bg-opacity, 1))}.bg-ui-accent-fill{--tw-bg-opacity: 1;background-color:rgb(var(--ui-accent-fill) / var(--tw-bg-opacity, 1))}.bg-ui-accent\/15{background-color:rgb(var(--ui-accent) / .15)}.bg-ui-accent\/25{background-color:rgb(var(--ui-accent) / .25)}.bg-ui-accent\/60{background-color:rgb(var(--ui-accent) / .6)}.bg-ui-bg{--tw-bg-opacity: 1;background-color:rgb(var(--ui-bg) / var(--tw-bg-opacity, 1))}.bg-ui-danger{--tw-bg-opacity: 1;background-color:rgb(var(--ui-danger) / var(--tw-bg-opacity, 1))}.bg-ui-danger\/10{background-color:rgb(var(--ui-danger) / .1)}.bg-ui-faint{--tw-bg-opacity: 1;background-color:rgb(var(--ui-faint) / var(--tw-bg-opacity, 1))}.bg-ui-faint\/50{background-color:rgb(var(--ui-faint) / .5)}.bg-ui-hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-hover) / var(--tw-bg-opacity, 1))}.bg-ui-ink{--tw-bg-opacity: 1;background-color:rgb(var(--ui-ink) / var(--tw-bg-opacity, 1))}.bg-ui-ink\/80{background-color:rgb(var(--ui-ink) / .8)}.bg-ui-line{--tw-bg-opacity: 1;background-color:rgb(var(--ui-line) / var(--tw-bg-opacity, 1))}.bg-ui-mute{--tw-bg-opacity: 1;background-color:rgb(var(--ui-mute) / var(--tw-bg-opacity, 1))}.bg-ui-raise{--tw-bg-opacity: 1;background-color:rgb(var(--ui-raise) / var(--tw-bg-opacity, 1))}.bg-ui-raise\/60{background-color:rgb(var(--ui-raise) / .6)}.bg-ui-scrim\/40{background-color:rgb(var(--ui-scrim) / .4)}.bg-ui-scrim\/50{background-color:rgb(var(--ui-scrim) / .5)}.bg-ui-sel{--tw-bg-opacity: 1;background-color:rgb(var(--ui-sel) / var(--tw-bg-opacity, 1))}.bg-ui-success{--tw-bg-opacity: 1;background-color:rgb(var(--ui-success) / var(--tw-bg-opacity, 1))}.bg-ui-surface{--tw-bg-opacity: 1;background-color:rgb(var(--ui-surface) / var(--tw-bg-opacity, 1))}.bg-ui-surface\/60{background-color:rgb(var(--ui-surface) / .6)}.bg-ui-surface\/95{background-color:rgb(var(--ui-surface) / .95)}.bg-ui-warn{--tw-bg-opacity: 1;background-color:rgb(var(--ui-warn) / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/20{background-color:#fff3}.fill-\[\#C13A20\]{fill:#c13a20}.fill-ai-signal-fill{fill:rgb(var(--ai-signal-fill) / 1)}.fill-amber-400{fill:#fbbf24}.fill-amber-400\/20{fill:#fbbf2433}.fill-amber-400\/30{fill:#fbbf244d}.fill-amber-500{fill:#f59e0b}.fill-emerald-500{fill:#10b981}.fill-emerald-500\/15{fill:#10b98126}.fill-emerald-500\/25{fill:#10b98140}.fill-gray-300{fill:#d1d5db}.fill-gray-500{fill:#6b7280}.fill-gray-800{fill:#1f2937}.fill-indigo-500{fill:#6366f1}.fill-none{fill:none}.fill-rose-500{fill:#f43f5e}.fill-rose-500\/10{fill:#f43f5e1a}.fill-rose-500\/20{fill:#f43f5e33}.fill-sky-100{fill:#e0f2fe}.fill-sky-600{fill:#0284c7}.fill-teal-600{fill:#0d9488}.fill-white{fill:#fff}.stroke-ai-signal-fill{stroke:rgb(var(--ai-signal-fill) / 1)}.stroke-gray-200{stroke:#e5e7eb}.stroke-gray-300{stroke:#d1d5db}.stroke-gray-400{stroke:#9ca3af}.stroke-gray-500{stroke:#6b7280}.stroke-gray-800{stroke:#1f2937}.stroke-gray-900{stroke:#111827}.stroke-sky-600{stroke:#0284c7}.stroke-white{stroke:#fff}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-3\.5{padding-bottom:.875rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pb-\[max\(2rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(2rem,env(safe-area-inset-bottom))}.pb-\[max\(8px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(8px,env(safe-area-inset-bottom))}.pl-0\.5{padding-left:.125rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-\[18px\]{padding-left:18px}.pl-\[19px\]{padding-left:19px}.pl-\[21px\]{padding-left:21px}.pl-\[22px\]{padding-left:22px}.pl-\[30px\]{padding-left:30px}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-\[env\(safe-area-inset-top\)\]{padding-top:env(safe-area-inset-top)}.pt-px{padding-top:1px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-super{vertical-align:super}.align-\[-0\.05em\]{vertical-align:-.05em}.align-\[-0\.15em\]{vertical-align:-.15em}.align-\[-0\.1em\]{vertical-align:-.1em}.align-\[-3px\]{vertical-align:-3px}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-body{font-size:var(--fs-body);line-height:var(--lh-body)}.text-display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:-.01em;font-weight:600}.text-meta{font-size:var(--fs-meta);line-height:var(--lh-meta)}.text-title{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:600}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.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)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-\[1\.45\]{line-height:1.45}.leading-\[13px\]{line-height:13px}.leading-\[18px\]{line-height:18px}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-normal{letter-spacing:0em}.text-\[\#8957e5\]{--tw-text-opacity: 1;color:rgb(137 87 229 / var(--tw-text-opacity, 1))}.text-\[\#C13A20\]{--tw-text-opacity: 1;color:rgb(193 58 32 / var(--tw-text-opacity, 1))}.text-ai-ink{--tw-text-opacity: 1;color:rgb(var(--ai-ink) / var(--tw-text-opacity, 1))}.text-ai-muted{--tw-text-opacity: 1;color:rgb(var(--ai-muted) / var(--tw-text-opacity, 1))}.text-ai-signal{--tw-text-opacity: 1;color:rgb(var(--ai-signal) / var(--tw-text-opacity, 1))}.text-ai-signal-fill{--tw-text-opacity: 1;color:rgb(var(--ai-signal-fill) / var(--tw-text-opacity, 1))}.text-ai-signal\/70{color:rgb(var(--ai-signal) / .7)}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-ui-accent{--tw-text-opacity: 1;color:rgb(var(--ui-accent) / var(--tw-text-opacity, 1))}.text-ui-bg{--tw-text-opacity: 1;color:rgb(var(--ui-bg) / var(--tw-text-opacity, 1))}.text-ui-danger{--tw-text-opacity: 1;color:rgb(var(--ui-danger) / var(--tw-text-opacity, 1))}.text-ui-faint{--tw-text-opacity: 1;color:rgb(var(--ui-faint) / var(--tw-text-opacity, 1))}.text-ui-ink{--tw-text-opacity: 1;color:rgb(var(--ui-ink) / var(--tw-text-opacity, 1))}.text-ui-mute{--tw-text-opacity: 1;color:rgb(var(--ui-mute) / var(--tw-text-opacity, 1))}.text-ui-on-accent{--tw-text-opacity: 1;color:rgb(var(--ui-on-accent) / var(--tw-text-opacity, 1))}.text-ui-success{--tw-text-opacity: 1;color:rgb(var(--ui-success) / var(--tw-text-opacity, 1))}.text-ui-warn{--tw-text-opacity: 1;color:rgb(var(--ui-warn) / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-ui-faint{text-decoration-color:rgb(var(--ui-faint) / 1)}.decoration-ui-mute{text-decoration-color:rgb(var(--ui-mute) / 1)}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[-12px_0_16px_-12px_rgb\(0_0_0\/0\.25\)\]{--tw-shadow: -12px 0 16px -12px rgb(0 0 0/.25);--tw-shadow-colored: -12px 0 16px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/20{--tw-shadow-color: rgb(0 0 0 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-black\/25{--tw-shadow-color: rgb(0 0 0 / .25);--tw-shadow: var(--tw-shadow-colored)}.shadow-black\/30{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-black\/40{--tw-shadow-color: rgb(0 0 0 / .4);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-ai-border{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ai-border) / var(--tw-ring-opacity, 1))}.ring-black\/15{--tw-ring-color: rgb(0 0 0 / .15)}.ring-transparent{--tw-ring-color: transparent}.ring-ui-accent{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ui-accent) / var(--tw-ring-opacity, 1))}.ring-ui-bg{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ui-bg) / var(--tw-ring-opacity, 1))}.ring-ui-danger\/30{--tw-ring-color: rgb(var(--ui-danger) / .3)}.ring-ui-line{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ui-line) / var(--tw-ring-opacity, 1))}.ring-ui-surface{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ui-surface) / var(--tw-ring-opacity, 1))}.ring-ui-warn\/40{--tw-ring-color: rgb(var(--ui-warn) / .4)}.ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1))}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-white{--tw-ring-offset-color: #fff}.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)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[color-scheme\:light\]{color-scheme:light}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.\[scrollbar-width\:none\]{scrollbar-width:none}.\[scrollbar-width\:thin\]{scrollbar-width:thin}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-display:swap;src:url(/app/assets/archivo-latin-600-BN-JkNrl.woff2) format("woff2")}:root{color-scheme:light dark;--ai-surface: 250 250 248;--ai-surface-2: 244 244 239;--ai-border: 226 226 220;--ai-hairline: 237 237 232;--ai-ink: 22 22 26;--ai-muted: 90 90 94;--ai-signal: 107 63 192;--ai-signal-fill: 124 77 219}.dark{--ai-surface: 22 22 26;--ai-surface-2: 28 28 33;--ai-border: 58 58 62;--ai-hairline: 42 42 46;--ai-ink: 220 220 214;--ai-muted: 154 154 148;--ai-signal: 182 156 250;--ai-signal-fill: 182 156 250}:root{--ui-bg: 255 255 255;--ui-surface: 250 250 250;--ui-raise: 244 244 244;--ui-hover: 238 238 238;--ui-sel: 225 225 225;--ui-line: 222 222 222;--ui-ink: 25 25 25;--ui-mute: 64 64 64;--ui-faint: 87 87 87;--ui-accent: 29 91 214;--ui-accent-fill: 37 99 235;--ui-on-accent: 255 255 255;--ui-danger: 184 42 38;--ui-success: 19 112 74;--ui-warn: 143 84 0;--ui-scrim: 15 16 20}.dark{--ui-bg: 25 25 25;--ui-surface: 31 31 31;--ui-raise: 38 38 38;--ui-hover: 44 44 44;--ui-sel: 51 51 51;--ui-line: 58 58 58;--ui-ink: 239 239 239;--ui-mute: 200 200 200;--ui-faint: 166 166 166;--ui-accent: 107 157 247;--ui-accent-fill: 52 102 212;--ui-on-accent: 255 255 255;--ui-danger: 240 117 114;--ui-success: 79 199 142;--ui-warn: 226 163 54;--ui-scrim: 0 0 0}:root{--fs-meta: 14px;--lh-meta: 18px;--fs-body: 15px;--lh-body: 22px;--fs-title: 17px;--lh-title: 24px;--fs-display: 25px;--lh-display: 32px}.type-compact{--fs-meta: 12px;--lh-meta: 16px;--fs-body: 13px;--lh-body: 20px;--fs-title: 15px;--lh-title: 22px;--fs-display: 22px;--lh-display: 28px}html,body,#root{height:100%;margin:0}html,body{overscroll-behavior:none}body{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}body:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(25 25 25 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.brand-title{font-family:Archivo,ui-sans-serif,system-ui,sans-serif;font-weight:600;font-size:1.3125rem;line-height:1;letter-spacing:-.02em;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.focus-indicator{display:inline-flex;align-items:center;gap:7px;padding:2px 10px;border-radius:9999px;letter-spacing:.5px;text-transform:uppercase;color:#0284c7;background:#38bdf81f;border:1px solid rgba(56,189,248,.4);white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:inherit;font-size:11px;font-weight:600;transition:box-shadow .15s ease}.focus-indicator:hover{box-shadow:0 0 0 3px #38bdf899}.dark .focus-indicator{color:#7dd3fc}.focus-indicator-dot{width:7px;height:7px;border-radius:9999px;background:#38bdf8}.focus-indicator-close{display:inline-flex;align-items:center;justify-content:center;margin-left:1px;margin-right:-4px;width:16px;height:16px;border-radius:9999px;font-size:11px;line-height:1;color:inherit;opacity:0;transition:background .15s ease,opacity .15s ease}.focus-indicator:hover .focus-indicator-close{opacity:.95;background:#38bdf840;animation:focus-close-wobble 1s ease-out}@keyframes focus-close-wobble{0%{transform:rotate(0)}12%{transform:rotate(-14deg)}28%{transform:rotate(11deg)}44%{transform:rotate(-8deg)}60%{transform:rotate(5deg)}76%{transform:rotate(-2deg)}to{transform:rotate(0)}}@media(prefers-reduced-motion:reduce){.focus-indicator:hover .focus-indicator-close{animation:none}}.filters-disabled{opacity:.45;pointer-events:none}.md-body{font-size:var(--fs-body);line-height:1.5;word-break:break-word}.md-body>*:first-child{margin-top:0}.md-body>*:last-child{margin-bottom:0}.md-body p{margin:.5em 0}.md-body h1,.md-body h2,.md-body h3{font-weight:600;margin:.6em 0 .3em}.md-body ul,.md-body ol{margin:.5em 0;padding-left:1.4em}.md-body ul{list-style:disc}.md-body ol{list-style:decimal}.md-body li{margin:.15em 0}.md-body a{color:#3b82f6;text-decoration:underline}.md-body code,.md-inline code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#7f7f7f2e;padding:.1em .3em;border-radius:4px}.md-body pre{margin:.5em 0;padding:.7em;border-radius:6px;overflow-x:auto;background:#0d1117}.md-body pre code{background:transparent;padding:0}.md-body blockquote{border-left:3px solid rgba(127,127,127,.4);padding-left:.8em;margin:.5em 0;color:#9ca3af}.md-body table{border-collapse:collapse;margin:.5em 0}.md-body th,.md-body td{border:1px solid rgba(127,127,127,.3);padding:.3em .6em}.md-table-scroll{max-height:70vh;overflow:auto;margin:.5em 0;border:1px solid rgba(127,127,127,.3);border-radius:.375rem}.md-table-scroll:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}.md-table-scroll table{margin:0;border-collapse:separate;border-spacing:0;width:-moz-max-content;width:max-content;min-width:100%}.md-table-scroll th,.md-table-scroll td{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.md-table-scroll th:is(.dark *),.md-table-scroll td:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(25 25 25 / var(--tw-bg-opacity, 1))}.md-table-scroll th,.md-table-scroll td{border:0;border-right:1px solid rgba(127,127,127,.3);border-bottom:1px solid rgba(127,127,127,.3);min-width:7rem;max-width:26rem;vertical-align:top;word-break:normal;overflow-wrap:anywhere}.md-table-scroll th{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.md-table-scroll th:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.md-table-scroll th{position:sticky;top:0;z-index:2;text-align:left}.md-table-scroll th:first-child,.md-table-scroll td:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 #7f7f7f73}.md-table-scroll td:first-child{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.md-table-scroll td:first-child:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.md-table-scroll td:first-child{font-weight:500}.md-table-scroll th:first-child,.md-table-scroll td:first-child{min-width:6rem;max-width:11rem}.md-table-scroll th:first-child{z-index:3}.md-table-scroll tr>:last-child{border-right:0}.md-table-scroll tbody tr:last-child>*{border-bottom:0}.md-body img{display:inline-block;vertical-align:middle;max-width:min(100%,var(--md-img-w, 100%));max-height:min(24rem,var(--md-img-h, 24rem));width:auto;height:auto}.pr-summary-collapsed .pr-summary-tall-img{display:none}.md-body input[type=checkbox]{margin-right:.4em}.dark .vis-timeline{border-color:#262626}.dark .vis-panel .vis-content,.dark .vis-panel .vis-background,.dark .vis-labelset .vis-label,.dark .vis-foreground .vis-group{border-color:#262626;color:#e5e5e5}.dark .vis-time-axis .vis-text{color:#9e9e9e}.dark .vis-time-axis .vis-grid.vis-minor{border-color:#262626}.dark .vis-time-axis .vis-grid.vis-major{border-color:#333}.dark .vis-labelset .vis-label{color:#d4d4d4}.vis-current-time,.dark .vis-current-time{background-color:rgb(var(--ui-accent))}.vis-labelset .vis-label.vis-nested-group{padding-left:.625rem;font-size:11px;opacity:.85}.vis-labelset .vis-label.tl-user-row .vis-inner{width:100%;max-width:264px}.tl-user{display:flex;align-items:flex-start;gap:5px;min-width:0;width:100%}.tl-user-main{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;gap:1px}.tl-user-name-line{display:flex;align-items:center;gap:5px;min-width:0}.tl-collapse-caret{flex:none;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:-1px;padding:0;border:0;border-radius:3px;background:transparent;color:#9ca3af;font-size:13px;line-height:1;cursor:pointer}.tl-collapse-caret:hover{background:#7878782e;color:#374151}.dark .tl-collapse-caret:hover{color:#e5e7eb}.tl-focus-active .tl-collapse-caret{display:none}.tl-user-avatar{flex:none;width:18px;height:18px;border-radius:9999px;-o-object-fit:cover;object-fit:cover;background:#e5e7eb}.dark .tl-user-avatar{background:#374151}.tl-user-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#6b7280}.tl-user-name{font-size:12.5px;font-weight:600;flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-user-name-link{color:inherit;text-decoration:none;cursor:pointer}.tl-user-name-link:hover{text-decoration:underline}.tl-merger{flex:none;display:inline-flex;align-items:center}.tl-modal-header{display:flex;align-items:center;gap:6px;padding:4px 8px;cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.dark .tl-modal-header{border-color:#374151;background:#11182799}.tl-modal-header:active{cursor:grabbing}.tl-grip{flex:none;color:#9ca3af}.tl-modal-title{font-size:11px;color:#9ca3af;margin-right:auto}.tl-modal-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;font-size:12px;line-height:1;color:#9ca3af;cursor:pointer}.tl-modal-close:hover{background:#94a3b833;color:#374151}.dark .tl-modal-close:hover{color:#e5e7eb}.vis-labelset .vis-label.tl-user-row,.vis-foreground .vis-group.tl-user-row{transition:max-height .22s ease,opacity .22s ease}@media(prefers-reduced-motion:reduce){.vis-labelset .vis-label.tl-user-row,.vis-foreground .vis-group.tl-user-row{transition:none}}.tl-repo-tint-0{--tl-tint: 59 130 246}.tl-repo-tint-1{--tl-tint: 139 92 246}.vis-labelset .vis-label.tl-user-row[class*=tl-repo-tint-],.vis-foreground .vis-group.tl-user-row[class*=tl-repo-tint-],.vis-labelset .vis-label.tl-repo-header[class*=tl-repo-tint-],.vis-foreground .vis-group.tl-repo-header[class*=tl-repo-tint-]{background-color:rgb(var(--tl-tint) / .04)}.dark .vis-labelset .vis-label.tl-user-row[class*=tl-repo-tint-],.dark .vis-foreground .vis-group.tl-user-row[class*=tl-repo-tint-],.dark .vis-labelset .vis-label.tl-repo-header[class*=tl-repo-tint-],.dark .vis-foreground .vis-group.tl-repo-header[class*=tl-repo-tint-]{background-color:rgb(var(--tl-tint) / .05)}.tl-repo-sticky{position:absolute;z-index:15;pointer-events:none;box-sizing:border-box;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.3;color:#111827;background-color:#fff;border-bottom:1px solid #e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dark .tl-repo-sticky{color:#f0f0f0;background-color:#191919;border-bottom-color:#262626}.tl-repo-sticky[class*=tl-repo-tint-]{background-image:linear-gradient(rgb(var(--tl-tint) / .04),rgb(var(--tl-tint) / .04))}.dark .tl-repo-sticky[class*=tl-repo-tint-]{background-image:linear-gradient(rgb(var(--tl-tint) / .05),rgb(var(--tl-tint) / .05))}.vis-labelset .vis-label.tl-user-row:nth-child(2n),.vis-foreground .vis-group.tl-user-row:nth-child(2n){background-image:linear-gradient(#0f172a0d,#0f172a0d)}.dark .vis-labelset .vis-label.tl-user-row:nth-child(2n),.dark .vis-foreground .vis-group.tl-user-row:nth-child(2n){background-image:linear-gradient(#ffffff0d,#ffffff0d)}.vis-labelset .vis-label.tl-user-row,.vis-foreground .vis-group.tl-user-row{box-shadow:inset 0 -2px #0f172a33}.dark .vis-labelset .vis-label.tl-user-row,.dark .vis-foreground .vis-group.tl-user-row{box-shadow:inset 0 -2px #ffffff29}.vis-item.vis-range.pr-bar{border-radius:6px;border-width:1px;color:#fff;font-size:11px;cursor:pointer;z-index:2;min-width:4px}.vis-item.pr-emph{font-size:11px}.vis-item.pr-muted{opacity:.85}.vis-item.pr-muted .pr-title{max-width:16ch}.pr-ci{display:inline-block;width:7px;height:7px;border-radius:50%}.pr-ci-lead{flex-shrink:0;box-shadow:0 0 0 1px rgb(var(--ui-bg) / .8)}.vis-item.vis-range.pr-bar{color:rgb(var(--ui-ink));border-color:transparent}.vis-item.pr-bar.pr-open{background-color:rgb(var(--ui-raise));border-color:rgb(var(--ui-line))}.vis-item.pr-bar.pr-merged{background-color:rgb(var(--ui-surface));border-color:rgb(var(--ui-success) / .45);color:rgb(var(--ui-mute))}.vis-item.pr-bar.pr-closed{background-color:rgb(var(--ui-surface));border-color:rgb(var(--ui-line));color:rgb(var(--ui-faint))}.vis-item.pr-bar.pr-stalled{background-color:rgb(var(--ui-raise));border-color:rgb(var(--ui-line));box-shadow:inset 3px 0 rgb(var(--ui-warn))}.vis-item.pr-bar.pr-changes-requested{border-color:rgb(var(--ui-danger));border-width:2px}.vis-item.pr-bar.pr-approved{border-color:rgb(var(--ui-success));border-width:2px}.vis-item.pr-bar.pr-commented{border-width:1px}.vis-item.pr-draft{background-image:repeating-linear-gradient(45deg,rgb(var(--ui-faint) / .18),rgb(var(--ui-faint) / .18) 4px,transparent 4px,transparent 8px)}.vis-item.vis-selected.pr-bar{overflow:visible;z-index:5;box-shadow:0 0 0 2px rgb(var(--ui-accent))}.vis-item.pr-bar.pr-focus-hidden{display:none}.vis-item.pr-bar.pr-cross-linked,.vis-item.ev-cross-linked .ev-marker-inner,.vis-item.ev-cross-linked .ev-cluster-inner{box-shadow:0 0 0 3px #38bdf8e6}.vis-item.pr-bar.pr-cross-linked{overflow:visible;z-index:5}.vis-item.ev-cross-linked .ev-marker-inner,.vis-item.ev-cross-linked .ev-cluster-inner{position:relative;z-index:5}.vis-item.ev-cross-linked .ev-marker-inner{border-radius:9999px}.vis-item.ev-exit-glow .ev-marker-inner,.vis-item.ev-exit-glow .ev-cluster-inner{position:relative;z-index:5;box-shadow:0 0 0 3px #38bdf8e6}.vis-item.ev-exit-glow .ev-marker-inner{border-radius:9999px}.vis-item.ev-selected:not(.ev-cross-linked) .ev-marker-inner,.vis-item.ev-selected:not(.ev-cross-linked) .ev-cluster-inner{position:relative;z-index:5;box-shadow:0 0 0 2px rgb(var(--ui-accent))}.vis-item.ev-selected:not(.ev-cross-linked) .ev-marker-inner{border-radius:9999px}.pr-bar-inner{display:flex;align-items:center;gap:4px;padding:0 2px}.pr-num{font-weight:600;opacity:.85}.pr-avatar{border-radius:9999px;flex-shrink:0;vertical-align:middle}.pr-author{font-size:11px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12ch}.vis-item.pr-muted .pr-author{max-width:9ch}.pr-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}.pr-draft-tag{font-size:11px;background:rgb(var(--ui-hover));color:rgb(var(--ui-mute));border-radius:3px;padding:0 3px}.vis-timeline div.vis-tooltip{white-space:normal;max-width:22rem;padding:7px 9px;font-family:inherit;font-size:11px;line-height:1.35;color:#e5e7eb;background-color:#111827;border:1px solid #374151;border-radius:7px;box-shadow:0 6px 20px #00000059;z-index:60}.vis-timeline.vis-timeline{overflow:visible}.pr-tt-title{font-weight:600;font-size:12px;color:#f9fafb}.pr-tt-meta{margin-top:1px;font-size:11px;color:#9ca3af}.pr-tt-section{margin-top:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}.pr-tt-row{display:flex;align-items:center;gap:6px;margin-top:3px}.pr-tt-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.pr-tt-warn{color:#fdba74}.pr-tt-warn-icon{font-weight:700}.pr-tt-quiet{color:#cbd5e1}.vis-item.ev-marker,.vis-item.ev-cluster{background:transparent;border:none;box-shadow:none;pointer-events:none}.vis-item.ev-marker .vis-dot,.vis-item.ev-cluster .vis-dot{display:none}.vis-item.ev-marker .vis-item-content,.vis-item.ev-cluster .vis-item-content{transform:translate(-50%);padding:0}.ev-marker-inner{display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;pointer-events:auto}.ev-marker-inner svg{display:block}.ev-cluster-inner{display:flex;align-items:center;justify-content:center;gap:2px;min-width:18px;height:16px;padding:0 4px;border-radius:9px;background:#475569;color:#fff;font-size:11px;font-weight:700;line-height:1;cursor:pointer;border:1px solid rgba(255,255,255,.25);position:relative;pointer-events:auto}.vis-item.ev-cluster.vis-selected,.vis-item.ev-marker.vis-selected{background:transparent;box-shadow:none}.vis-item.vis-background.cross-sep{border-top:1px solid rgb(var(--ui-line));background:rgb(var(--ui-surface) / .6);pointer-events:none}.dark .vis-item.vis-background.cross-sep{border-top-color:rgb(var(--ui-line));background:rgb(var(--ui-surface) / .6)}.vis-item.ev-own .ev-marker-inner:after,.vis-item.ev-own .ev-cluster-inner:after{content:"";position:absolute;bottom:100%;left:50%;width:0;height:14px;border-left:1.5px solid rgba(203,213,225,.85);transform:translate(-50%);pointer-events:none}.vis-item.ev-own .ev-marker-inner.ev-round:after{bottom:calc(100% - 3px);height:17px}.tl-cross-connectors{position:absolute;pointer-events:none;overflow:hidden;z-index:5}.tl-cross-connectors path{stroke:#cbd5e1d9;stroke-width:1.5;fill:none}.dark .tl-cross-connectors path{stroke:#94a3b8b3}.vis-item.ev-cross .ev-marker-inner{border-radius:9999px;background:rgb(var(--ui-hover))}.vis-item.ev-cross:not(.ev-selected):not(.ev-cross-linked):not(.ev-exit-glow) .ev-marker-inner{box-shadow:inset 0 0 0 1px rgb(var(--ui-line))}.vis-item.ev-cross:not(.ev-selected):not(.ev-cross-linked):not(.ev-exit-glow) .ev-cluster-inner{box-shadow:0 0 0 2px rgb(var(--ui-line))}.dark .vis-item.ev-cross .ev-marker-inner{background:rgb(var(--ui-hover))}.dark .vis-item.ev-cross:not(.ev-selected):not(.ev-cross-linked):not(.ev-exit-glow) .ev-marker-inner{box-shadow:inset 0 0 0 1px rgb(var(--ui-line))}.dark .vis-item.ev-cross:not(.ev-selected):not(.ev-cross-linked):not(.ev-exit-glow) .ev-cluster-inner{box-shadow:0 0 0 2px rgb(var(--ui-line))}.vis-item.vis-point .vis-dot{border-width:5px}.ev-pr_opened .vis-dot{border-color:#3b82f6}.ev-pr_merged .vis-dot{border-color:#8957e5}.ev-pr_closed .vis-dot{border-color:#9ca3af}.ev-review_submitted .vis-dot{border-color:#22c55e}.ev-review_comment .vis-dot{border-color:#f59e0b}.ev-pr_comment .vis-dot{border-color:#a78bfa}.ev-commit_pushed .vis-dot{border-color:#6b7280;border-width:4px}.ev-diamond .vis-dot{border-radius:0;transform:rotate(45deg)}.ev-square .vis-dot{border-radius:2px}.comment-new{border-left:3px solid #38bdf8;margin-left:-2px;border-radius:1px;background:#38bdf80d}@keyframes activity-flash{0%{background:#38bdf847}to{background:#38bdf800}}.activity-flash{animation:activity-flash 1.8s ease-out forwards}@keyframes digest-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.digest-fade-in{animation:digest-fade-in .35s ease-out}@media(prefers-reduced-motion:reduce){.digest-fade-in{animation:none}}.digest-skeleton-line{position:relative;overflow:hidden;border-radius:4px;background:rgb(var(--ai-signal-fill) / .05)}.digest-skeleton-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,rgb(var(--ai-signal-fill) / 0),rgb(var(--ai-signal-fill) / .12),rgb(var(--ai-signal-fill) / 0));animation:digest-shimmer 2.4s ease-in-out infinite}@keyframes digest-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.digest-skeleton-line:after{animation:none}}.my-turn-ring{box-shadow:0 0 0 2px rgb(var(--ui-accent) / .55)}.vis-item.pr-myturn{overflow:visible;box-shadow:0 0 0 3px #3b82f6e6}.tab-scrollbar{scrollbar-width:thin;scrollbar-color:rgb(203 213 225) transparent}.dark .tab-scrollbar{scrollbar-color:rgb(71 85 105) transparent}.tab-scrollbar::-webkit-scrollbar{height:6px}.tab-scrollbar::-webkit-scrollbar-track{background:transparent}.tab-scrollbar::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:9999px}.tab-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#94a3b8}.dark .tab-scrollbar::-webkit-scrollbar-thumb{background-color:#475569}.dark .tab-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#64748b}.scroll-x-visible{scrollbar-width:thin;scrollbar-color:rgb(var(--ui-mute) / .55) transparent}.scroll-x-visible::-webkit-scrollbar{height:8px}.scroll-x-visible::-webkit-scrollbar-track{background:rgb(var(--ui-raise));border-radius:9999px}.scroll-x-visible::-webkit-scrollbar-thumb{background-color:rgb(var(--ui-mute) / .55);border-radius:9999px}.scroll-x-visible:hover::-webkit-scrollbar-thumb{background-color:rgb(var(--ui-mute) / .85)}.scroll-x-hidden{scrollbar-width:none}.scroll-x-hidden::-webkit-scrollbar{display:none}.scrollbar-hidden{scrollbar-width:none}.scrollbar-hidden::-webkit-scrollbar{display:none}.story-measure p,.reading-measure p{max-width:75ch}@media print{@page{margin:1.6cm}html,body,#root{height:auto!important;background:#fff!important}#root *{overflow:visible!important}body *{visibility:hidden}[data-print-report],[data-print-report] *{visibility:visible}[data-print-report]{position:absolute;left:0;top:0;width:100%}[data-print-report] *{color:#111!important;background:transparent!important;border-color:#d1d5db!important;box-shadow:none!important;text-shadow:none!important}[data-print-report] button,[data-print-report] select{display:none!important}[data-print-report] table{min-width:0!important;width:100%!important;font-size:11px}[data-print-report] table th,[data-print-report] table td{page-break-inside:avoid}}[style*=--ink-light]{color:var(--ink-light)}.dark [style*=--ink-light]{color:var(--ink-dark)}:root{--mr-change: 29 78 216;--mr-conflict: 180 35 24;--mr-applied: 22 101 52;--mr-ignored: 90 90 94}.dark{--mr-change: 147 197 253;--mr-conflict: 255 138 115;--mr-applied: 134 239 172;--mr-ignored: 154 154 148}.mr-wash-change{background:rgb(var(--mr-change) / .12)}.mr-wash-conflict{background:rgb(var(--mr-conflict) / .14)}.mr-wash-applied{background:rgb(var(--mr-applied) / .12)}.mr-wash-ignored{background:rgb(var(--mr-ignored) / .1)}.mr-ink-change{color:rgb(var(--mr-change))}.mr-ink-conflict{color:rgb(var(--mr-conflict))}.mr-ink-applied{color:rgb(var(--mr-applied))}.mr-ink-ignored{color:rgb(var(--mr-ignored))}.mr-rule-change{border-left-color:rgb(var(--mr-change))}.mr-rule-conflict{border-left-color:rgb(var(--mr-conflict))}.mr-rule-applied{border-left-color:rgb(var(--mr-applied))}.mr-rule-ignored{border-left-color:rgb(var(--mr-ignored))}.mr-filler{background-image:repeating-linear-gradient(45deg,rgb(var(--mr-ignored) / .14) 0 1px,transparent 1px 7px)}.mr-ribbons{position:absolute;left:0;right:0;width:100%;overflow:hidden;pointer-events:none}.mr-fill-applied{fill:rgb(var(--mr-applied) / .22)}.code-hl{--code-hl-keyword: #b31d28;--code-hl-string: #0a3069;--code-hl-comment: #5b6570;--code-hl-number: #0550ae;--code-hl-title: #6639ba;--code-hl-type: #8a3800;--code-hl-meta: #0f5323}.dark .code-hl{--code-hl-keyword: #ff9a94;--code-hl-string: #a5d6ff;--code-hl-comment: #9aa4b0;--code-hl-number: #79c0ff;--code-hl-title: #d2a8ff;--code-hl-type: #ffa657;--code-hl-meta: #7ee787}.code-hl .hljs-keyword,.code-hl .hljs-selector-tag,.code-hl .hljs-literal,.code-hl .hljs-doctag,.code-hl .hljs-operator{color:var(--code-hl-keyword)}.code-hl .hljs-string,.code-hl .hljs-regexp,.code-hl .hljs-template-tag,.code-hl .hljs-selector-attr,.code-hl .hljs-selector-pseudo,.code-hl .hljs-addition{color:var(--code-hl-string)}.code-hl .hljs-comment,.code-hl .hljs-quote,.code-hl .hljs-deletion{color:var(--code-hl-comment)}.code-hl .hljs-number,.code-hl .hljs-variable,.code-hl .hljs-template-variable,.code-hl .hljs-attr,.code-hl .hljs-attribute,.code-hl .hljs-symbol,.code-hl .hljs-bullet{color:var(--code-hl-number)}.code-hl .hljs-title,.code-hl .hljs-title.class_,.code-hl .hljs-title.function_,.code-hl .hljs-section,.code-hl .hljs-name,.code-hl .hljs-selector-id,.code-hl .hljs-selector-class{color:var(--code-hl-title)}.code-hl .hljs-type,.code-hl .hljs-built_in,.code-hl .hljs-class .hljs-title,.code-hl .hljs-params{color:var(--code-hl-type)}.code-hl .hljs-meta,.code-hl .hljs-meta .hljs-keyword,.code-hl .hljs-meta .hljs-string,.code-hl .hljs-tag,.code-hl .hljs-link{color:var(--code-hl-meta)}.code-hl .hljs-subst,.code-hl .hljs-emphasis,.code-hl .hljs-strong{color:inherit}.code-hl .hljs-code,.code-hl .hljs-formula{color:var(--code-hl-comment)}.code-hl .hljs-addition,.code-hl .hljs-deletion{background:transparent}.code-hl .hljs,.code-hl code.hljs{background:transparent;padding:0}.budget-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:14px;background:transparent;cursor:pointer}.budget-range:focus{outline:none}.budget-range:focus-visible{outline:2px solid rgb(var(--ui-accent));outline-offset:2px;border-radius:4px}.budget-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:rgb(var(--ui-hover))}.budget-range::-moz-range-track{height:4px;border-radius:2px;background:rgb(var(--ui-hover))}.budget-range::-webkit-slider-thumb{-webkit-appearance:none;box-sizing:border-box;width:14px;height:14px;margin-top:-5px;border-radius:9999px;background:rgb(var(--ui-accent-fill));border:2px solid rgb(var(--ui-bg))}.budget-range::-moz-range-thumb{box-sizing:border-box;width:14px;height:14px;border-radius:9999px;background:rgb(var(--ui-accent-fill));border:2px solid rgb(var(--ui-bg))}.dark .budget-range::-webkit-slider-thumb{border-color:rgb(var(--ui-bg))}.dark .budget-range::-moz-range-thumb{border-color:rgb(var(--ui-bg))}.sg-progress{background:#94a3b840}.sg-progress-share{background:#0284c7;transition:width .4s ease-out}.sg-progress-busy{width:35%;background:linear-gradient(90deg,#0284c700,#0284c7 40%,#0369a1 60%,#0284c700);animation:sg-progress-slide 1.2s ease-in-out infinite}.dark .sg-progress-share{background:#38bdf8}.dark .sg-progress-busy{background:linear-gradient(90deg,#38bdf800,#38bdf8 40%,#7dd3fc 60%,#38bdf800)}@keyframes sg-progress-slide{0%{transform:translate(-100%)}to{transform:translate(290%)}}@media(prefers-reduced-motion:reduce){.sg-progress-busy,.dark .sg-progress-busy{width:100%;animation:none;background:#0284c799}.sg-progress-share{transition:none}}::highlight(doc-quote){background-color:#fde68a;color:#111827}.dark ::highlight(doc-quote){background-color:#92400e;color:#fef3c7}.doc-quote-swatch{background-color:#fde68a}.dark .doc-quote-swatch{background-color:#92400e}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(pointer:coarse){:where(.hit){position:relative}.hit:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,40px);height:max(100%,40px);transform:translate(-50%,-50%)}}.vis-labelset .vis-label.vis-nesting-group.expanded:before,.vis-labelset .vis-label.vis-nesting-group.collapsed:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;background-color:currentColor;opacity:.6;-webkit-mask:var(--tl-chev) center / contain no-repeat;mask:var(--tl-chev) center / contain no-repeat}.vis-labelset .vis-label.vis-nesting-group.expanded:before{--tl-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.vis-labelset .vis-label.vis-nesting-group.collapsed:before{--tl-chev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E")}@media(max-width:767px){.vis-labelset .vis-label .vis-inner,.vis-labelset .vis-label.tl-user-row .vis-inner{max-width:min(30vw,7.5rem);overflow:hidden}.vis-labelset .vis-label .tl-user-stats{display:none}.tl-repo-sticky{max-width:min(30vw,7.5rem)}}@media(pointer:coarse){label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:40px;align-items:center}}input[type=checkbox]:not([class*=appearance-none]),input[type=radio]:not([class*=appearance-none]){-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:16px;height:16px;margin:0;vertical-align:-3px;background:rgb(var(--ui-raise));box-shadow:inset 0 0 0 1px rgb(var(--ui-line));border-radius:6px;cursor:pointer;transition:background-color 80ms,box-shadow 80ms}input[type=radio]:not([class*=appearance-none]){border-radius:9999px}input[type=checkbox]:not([class*=appearance-none]):checked{background:rgb(var(--ui-accent-fill)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8.5 6.8 11 12 5.5'/%3E%3C/svg%3E") center / 12px 12px no-repeat;box-shadow:none}input[type=radio]:not([class*=appearance-none]):checked{box-shadow:inset 0 0 0 5px rgb(var(--ui-accent-fill))}input[type=checkbox]:not([class*=appearance-none]):focus-visible,input[type=radio]:not([class*=appearance-none]):focus-visible{outline:2px solid rgb(var(--ui-accent));outline-offset:2px}input[type=checkbox]:not([class*=appearance-none]):disabled,input[type=radio]:not([class*=appearance-none]):disabled{opacity:.5;cursor:not-allowed}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:20px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:9999px;background:rgb(var(--ui-hover))}input[type=range]::-moz-range-track{height:4px;border-radius:9999px;background:rgb(var(--ui-hover))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:9999px;background:rgb(var(--ui-accent-fill));border:2px solid rgb(var(--ui-bg))}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:9999px;background:rgb(var(--ui-accent-fill));border:2px solid rgb(var(--ui-bg))}input[type=range]:focus-visible{outline:2px solid rgb(var(--ui-accent));outline-offset:2px}@media(pointer:coarse){input[type=range]{height:40px}input[type=range]::-webkit-slider-thumb{width:22px;height:22px;margin-top:-9px}}input[type=date],input[type=number]{color-scheme:light}.dark input[type=date],.dark input[type=number]{color-scheme:dark}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E") center / contain no-repeat;transition:transform 80ms}details[open]>summary:before{transform:rotate(90deg)}body[data-pr-popover] .vis-tooltip{display:none!important}.text-link{text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,currentColor 50%,transparent)}.text-link:hover{text-decoration-color:currentColor}@media(max-width:767px){.text-link-phone{text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,currentColor 50%,transparent)}}.first-letter\:uppercase:first-letter{text-transform:uppercase}.placeholder\:text-ui-faint::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--ui-faint) / var(--tw-text-opacity, 1))}.placeholder\:text-ui-faint::placeholder{--tw-text-opacity: 1;color:rgb(var(--ui-faint) / var(--tw-text-opacity, 1))}.placeholder\:text-ui-mute::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--ui-mute) / var(--tw-text-opacity, 1))}.placeholder\:text-ui-mute::placeholder{--tw-text-opacity: 1;color:rgb(var(--ui-mute) / var(--tw-text-opacity, 1))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:bottom-1:before{content:var(--tw-content);bottom:.25rem}.before\:left-\[15px\]:before{content:var(--tw-content);left:15px}.before\:left-\[2px\]:before{content:var(--tw-content);left:2px}.before\:top-0:before{content:var(--tw-content);top:0}.before\:top-\[2px\]:before{content:var(--tw-content);top:2px}.before\:h-\[14px\]:before{content:var(--tw-content);height:14px}.before\:w-\[14px\]:before{content:var(--tw-content);width:14px}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:bg-ui-line:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(var(--ui-line) / var(--tw-bg-opacity, 1))}.before\:bg-ui-mute:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(var(--ui-mute) / var(--tw-bg-opacity, 1))}.before\:content-\[\"\"\]:before{--tw-content: "";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-0\.5:after{content:var(--tw-content);width:.125rem}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:bg-ui-accent:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(var(--ui-accent) / var(--tw-bg-opacity, 1))}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:opacity-100:after{content:var(--tw-content);opacity:1}.first\:mt-0:first-child{margin-top:0}.first\:border-0:first-child{border-width:0px}.first\:border-t-0:first-child{border-top-width:0px}.first\:pt-0:first-child{padding-top:0}.first\:pt-1:first-child{padding-top:.25rem}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.last\:pb-0:last-child{padding-bottom:0}.checked\:bg-ui-accent-fill:checked{--tw-bg-opacity: 1;background-color:rgb(var(--ui-accent-fill) / var(--tw-bg-opacity, 1))}.checked\:ring-0:checked{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.checked\:ring-\[5px\]:checked{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(5px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.checked\:ring-ui-accent-fill:checked{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ui-accent-fill) / var(--tw-ring-opacity, 1))}.checked\:before\:translate-x-\[14px\]:checked:before{content:var(--tw-content);--tw-translate-x: 14px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.checked\:before\:bg-ui-on-accent:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(var(--ui-on-accent) / var(--tw-bg-opacity, 1))}.indeterminate\:bg-ui-accent-fill:indeterminate{--tw-bg-opacity: 1;background-color:rgb(var(--ui-accent-fill) / var(--tw-bg-opacity, 1))}.indeterminate\:ring-0:indeterminate{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.read-only\:opacity-60:-moz-read-only{opacity:.6}.read-only\:opacity-60:read-only{opacity:.6}.empty\:hidden:empty{display:none}.focus-within\:border-ui-accent\/50:focus-within{border-color:rgb(var(--ui-accent) / .5)}.hover\:border-ai-signal:hover{--tw-border-opacity: 1;border-color:rgb(var(--ai-signal) / var(--tw-border-opacity, 1))}.hover\:border-ai-signal\/40:hover{border-color:rgb(var(--ai-signal) / .4)}.hover\:border-ai-signal\/60:hover{border-color:rgb(var(--ai-signal) / .6)}.hover\:border-ui-danger\/40:hover{border-color:rgb(var(--ui-danger) / .4)}.hover\:border-ui-line:hover{--tw-border-opacity: 1;border-color:rgb(var(--ui-line) / var(--tw-border-opacity, 1))}.hover\:bg-ai-surface:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ai-surface) / var(--tw-bg-opacity, 1))}.hover\:bg-ai-surface-2:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ai-surface-2) / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-ui-accent:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-accent) / var(--tw-bg-opacity, 1))}.hover\:bg-ui-accent-fill:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-accent-fill) / var(--tw-bg-opacity, 1))}.hover\:bg-ui-accent\/30:hover{background-color:rgb(var(--ui-accent) / .3)}.hover\:bg-ui-accent\/40:hover{background-color:rgb(var(--ui-accent) / .4)}.hover\:bg-ui-danger\/10:hover{background-color:rgb(var(--ui-danger) / .1)}.hover\:bg-ui-hover:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-hover) / var(--tw-bg-opacity, 1))}.hover\:bg-ui-raise:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-raise) / var(--tw-bg-opacity, 1))}.hover\:bg-ui-sel:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-sel) / var(--tw-bg-opacity, 1))}.hover\:bg-ui-success:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-success) / var(--tw-bg-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-ui-danger:hover{--tw-text-opacity: 1;color:rgb(var(--ui-danger) / var(--tw-text-opacity, 1))}.hover\:text-ui-ink:hover{--tw-text-opacity: 1;color:rgb(var(--ui-ink) / var(--tw-text-opacity, 1))}.hover\:text-ui-mute:hover{--tw-text-opacity: 1;color:rgb(var(--ui-mute) / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-ui-ink:hover{text-decoration-color:rgb(var(--ui-ink) / 1)}.hover\:decoration-solid:hover{text-decoration-style:solid}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-1:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-ui-line:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ui-line) / var(--tw-ring-opacity, 1))}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:brightness-95:hover{--tw-brightness: brightness(.95);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:after\:opacity-70:hover:after{content:var(--tw-content);opacity:.7}.focus\:border-ui-accent\/50:focus{border-color:rgb(var(--ui-accent) / .5)}.focus\:bg-ui-hover:focus{--tw-bg-opacity: 1;background-color:rgb(var(--ui-hover) / var(--tw-bg-opacity, 1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ui-accent:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ui-accent) / var(--tw-ring-opacity, 1))}.focus-visible\:bg-gray-100:focus-visible{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.focus-visible\:bg-ui-accent:focus-visible{--tw-bg-opacity: 1;background-color:rgb(var(--ui-accent) / var(--tw-bg-opacity, 1))}.focus-visible\:bg-ui-accent-fill:focus-visible{--tw-bg-opacity: 1;background-color:rgb(var(--ui-accent-fill) / var(--tw-bg-opacity, 1))}.focus-visible\:bg-ui-accent\/40:focus-visible{background-color:rgb(var(--ui-accent) / .4)}.focus-visible\:bg-ui-hover:focus-visible{--tw-bg-opacity: 1;background-color:rgb(var(--ui-hover) / var(--tw-bg-opacity, 1))}.focus-visible\:text-gray-900:focus-visible{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.focus-visible\:text-white:focus-visible{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-ui-accent:focus-visible{outline-color:rgb(var(--ui-accent) / 1)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\:ring-sky-600:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(2 132 199 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-ui-accent:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ui-accent) / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-ui-bg:focus-visible{--tw-ring-offset-color: rgb(var(--ui-bg) / 1)}.focus-visible\:ring-offset-ui-surface:focus-visible{--tw-ring-offset-color: rgb(var(--ui-surface) / 1)}.focus-visible\:after\:opacity-100:focus-visible:after{content:var(--tw-content);opacity:1}.active\:cursor-grabbing:active{cursor:grabbing}.enabled\:hover\:bg-ui-hover:hover:enabled{--tw-bg-opacity: 1;background-color:rgb(var(--ui-hover) / var(--tw-bg-opacity, 1))}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-ui-raise:disabled{--tw-bg-opacity: 1;background-color:rgb(var(--ui-raise) / var(--tw-bg-opacity, 1))}.disabled\:text-ui-faint:disabled{--tw-text-opacity: 1;color:rgb(var(--ui-faint) / var(--tw-text-opacity, 1))}.disabled\:text-ui-ink:disabled{--tw-text-opacity: 1;color:rgb(var(--ui-ink) / var(--tw-text-opacity, 1))}.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\:hover\:bg-transparent:hover:disabled{background-color:transparent}.disabled\:hover\:brightness-100:hover:disabled{--tw-brightness: brightness(1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.group:hover .group-hover\:bg-ui-hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-hover) / var(--tw-bg-opacity, 1))}.group\/rt:hover .group-hover\/rt\:text-ui-ink,.group\/th:hover .group-hover\/th\:text-ui-ink,.group:hover .group-hover\:text-ui-ink{--tw-text-opacity: 1;color:rgb(var(--ui-ink) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group\/bot:hover .group-hover\/bot\:opacity-100,.group\/feed:hover .group-hover\/feed\:opacity-100,.group\/rt:hover .group-hover\/rt\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.peer:checked~.peer-checked\:flex{display:flex}.peer:empty~.peer-empty\:mt-0{margin-top:0}.peer:empty~.peer-empty\:border-t-0{border-top-width:0px}.peer:empty~.peer-empty\:pt-0{padding-top:0}.has-\[\:disabled\]\:cursor-not-allowed:has(:disabled){cursor:not-allowed}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.has-\[\:focus-visible\]\:ring-2:has(:focus-visible){--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.has-\[\:focus-visible\]\:ring-ui-accent:has(:focus-visible){--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--ui-accent) / var(--tw-ring-opacity, 1))}@media(pointer:coarse){.touch\:-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.touch\:-ml-3{margin-left:-.75rem}.touch\:mt-0{margin-top:0}.touch\:block{display:block}.touch\:inline-flex{display:inline-flex}.touch\:hidden{display:none}.touch\:h-10{height:2.5rem}.touch\:h-11{height:2.75rem}.touch\:h-row-touch{height:44px}.touch\:min-h-10{min-height:2.5rem}.touch\:min-h-11{min-height:2.75rem}.touch\:w-10{width:2.5rem}.touch\:w-11{width:2.75rem}.touch\:min-w-10{min-width:2.5rem}.touch\:flex-1{flex:1 1 0%}.touch\:items-center{align-items:center}.touch\:justify-center{justify-content:center}.touch\:p-2\.5{padding:.625rem}.touch\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.touch\:px-3{padding-left:.75rem;padding-right:.75rem}.touch\:px-4{padding-left:1rem;padding-right:1rem}.touch\:py-2{padding-top:.5rem;padding-bottom:.5rem}.touch\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.touch\:py-3{padding-top:.75rem;padding-bottom:.75rem}.touch\:opacity-100{opacity:1}.touch\:after\:absolute:after{content:var(--tw-content);position:absolute}.touch\:after\:-inset-3:after{content:var(--tw-content);top:-.75rem;right:-.75rem;bottom:-.75rem;left:-.75rem}.touch\:after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.touch\:hover\:bg-ui-surface:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-surface) / var(--tw-bg-opacity, 1))}}@media(prefers-reduced-motion:no-preference){@keyframes pulse{50%{opacity:.5}}.motion-safe\:animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.motion-safe\:animate-spin{animation:spin 1s linear infinite}@keyframes ui-drawer-in{0%{transform:translate(-100%)}to{transform:none}}.motion-safe\:animate-ui-drawer-in{animation:ui-drawer-in .18s cubic-bezier(.2,.7,.2,1)}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}.motion-safe\:animate-ui-fade{animation:ui-fade .14s linear}@keyframes ui-pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.motion-safe\:animate-ui-pop{animation:ui-pop .14s cubic-bezier(.2,.7,.2,1)}@keyframes ui-sheet-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.motion-safe\:animate-ui-sheet-up{animation:ui-sheet-up .18s cubic-bezier(.2,.7,.2,1)}@keyframes ui-slide-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.motion-safe\:animate-ui-slide-in{animation:ui-slide-in .16s cubic-bezier(.2,.7,.2,1)}.motion-safe\:transition-\[background-color\,opacity\,transform\]{transition-property:background-color,opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.motion-safe\:transition-\[box-shadow\]{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.motion-safe\:transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.motion-safe\:transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.motion-safe\:transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.motion-safe\:duration-500{transition-duration:.5s}.motion-safe\:duration-700{transition-duration:.7s}.motion-safe\:duration-ui{transition-duration:.16s}.motion-safe\:duration-ui-fast{transition-duration:80ms}.motion-safe\:ease-ui{transition-timing-function:cubic-bezier(.2,.7,.2,1)}.motion-safe\:before\:transition-transform:before{content:var(--tw-content);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.motion-safe\:before\:duration-ui:before{content:var(--tw-content);transition-duration:.16s}.after\:motion-safe\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}}@media(prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}.dark\:inline-block:is(.dark *){display:inline-block}.dark\:hidden:is(.dark *){display:none}.dark\:border-gray-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.dark\:border-gray-800\/60:is(.dark *){border-color:#1f293799}.dark\:border-t-transparent:is(.dark *){border-top-color:transparent}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(25 25 25 / var(--tw-bg-opacity, 1))}.dark\:bg-indigo-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:fill-\[\#F26B4E\]:is(.dark *){fill:#f26b4e}.dark\:fill-amber-400\/15:is(.dark *){fill:#fbbf2426}.dark\:fill-amber-400\/25:is(.dark *){fill:#fbbf2440}.dark\:fill-amber-500:is(.dark *){fill:#f59e0b}.dark\:fill-amber-600:is(.dark *){fill:#d97706}.dark\:fill-emerald-400\/15:is(.dark *){fill:#34d39926}.dark\:fill-emerald-400\/25:is(.dark *){fill:#34d39940}.dark\:fill-emerald-500:is(.dark *){fill:#10b981}.dark\:fill-gray-100:is(.dark *){fill:#f3f4f6}.dark\:fill-gray-400:is(.dark *){fill:#9ca3af}.dark\:fill-gray-600:is(.dark *){fill:#4b5563}.dark\:fill-gray-950:is(.dark *){fill:#191919}.dark\:fill-indigo-500:is(.dark *){fill:#6366f1}.dark\:fill-rose-400\/10:is(.dark *){fill:#fb71851a}.dark\:fill-rose-400\/20:is(.dark *){fill:#fb718533}.dark\:fill-rose-500:is(.dark *){fill:#f43f5e}.dark\:fill-sky-400:is(.dark *){fill:#38bdf8}.dark\:fill-sky-950:is(.dark *){fill:#082f49}.dark\:fill-teal-600:is(.dark *){fill:#0d9488}.dark\:stroke-gray-100:is(.dark *){stroke:#f3f4f6}.dark\:stroke-gray-400:is(.dark *){stroke:#9ca3af}.dark\:stroke-gray-50:is(.dark *){stroke:#f9fafb}.dark\:stroke-gray-500:is(.dark *){stroke:#6b7280}.dark\:stroke-gray-700:is(.dark *){stroke:#374151}.dark\:stroke-gray-800:is(.dark *){stroke:#1f2937}.dark\:stroke-gray-950:is(.dark *){stroke:#191919}.dark\:stroke-sky-400:is(.dark *){stroke:#38bdf8}.dark\:text-\[\#F26B4E\]:is(.dark *){--tw-text-opacity: 1;color:rgb(242 107 78 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-indigo-400:is(.dark *){--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.dark\:ring-offset-gray-950:is(.dark *){--tw-ring-offset-color: #191919}.dark\:\[color-scheme\:dark\]:is(.dark *){color-scheme:dark}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-gray-100:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:hover\:brightness-125:hover:is(.dark *){--tw-brightness: brightness(1.25);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.dark\:focus-visible\:bg-gray-800:focus-visible:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:focus-visible\:text-gray-100:focus-visible:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:focus-visible\:ring-sky-400:focus-visible:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(56 189 248 / var(--tw-ring-opacity, 1))}@media not all and (min-width:1280px){.max-xl\:hidden{display:none}}@media not all and (min-width:1024px){.max-lg\:ml-auto{margin-left:auto}.max-lg\:hidden{display:none}}@media not all and (min-width:768px){.max-md\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.max-md\:sticky{position:sticky}.max-md\:bottom-0{bottom:0}.max-md\:top-0{top:0}.max-md\:z-20{z-index:20}.max-md\:z-30{z-index:30}.max-md\:order-last{order:9999}.max-md\:-mx-4{margin-left:-1rem;margin-right:-1rem}.max-md\:line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.max-md\:flex{display:flex}.max-md\:hidden{display:none}.max-md\:h-full{height:100%}.max-md\:w-full{width:100%}.max-md\:max-w-none{max-width:none}.max-md\:flex-none{flex:none}.max-md\:flex-wrap{flex-wrap:wrap}.max-md\:items-end{align-items:flex-end}.max-md\:items-center{align-items:center}.max-md\:gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.max-md\:gap-y-1{row-gap:.25rem}.max-md\:overflow-visible{overflow:visible}.max-md\:overflow-x-auto{overflow-x:auto}.max-md\:overflow-y-auto{overflow-y:auto}.max-md\:overflow-x-clip{overflow-x:clip}.max-md\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.max-md\:rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.max-md\:bg-ui-bg{--tw-bg-opacity: 1;background-color:rgb(var(--ui-bg) / var(--tw-bg-opacity, 1))}.max-md\:bg-ui-surface{--tw-bg-opacity: 1;background-color:rgb(var(--ui-surface) / var(--tw-bg-opacity, 1))}.max-md\:p-0{padding:0}.max-md\:px-1\.5{padding-left:.375rem;padding-right:.375rem}.max-md\:px-2{padding-left:.5rem;padding-right:.5rem}.max-md\:px-3{padding-left:.75rem;padding-right:.75rem}.max-md\:px-4{padding-left:1rem;padding-right:1rem}.max-md\:py-3{padding-top:.75rem;padding-bottom:.75rem}.max-md\:pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.max-md\:pb-\[max\(12px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(12px,env(safe-area-inset-bottom))}.max-md\:pt-2{padding-top:.5rem}.max-md\:pt-3{padding-top:.75rem}.max-md\:pt-\[env\(safe-area-inset-top\)\]{padding-top:env(safe-area-inset-top)}.max-md\:\[--pr-tabs-h\:var\(--pr-tabs-measured\)\]{--pr-tabs-h: var(--pr-tabs-measured)}.max-md\:\[scrollbar-width\:none\]{scrollbar-width:none}}@media not all and (min-width:640px){.max-sm\:sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.max-sm\:fixed{position:fixed}.max-sm\:inset-x-2{left:.5rem;right:.5rem}.max-sm\:bottom-2{bottom:.5rem}.max-sm\:top-auto{top:auto}.max-sm\:order-last{order:9999}.max-sm\:-mx-3{margin-left:-.75rem;margin-right:-.75rem}.max-sm\:ml-0{margin-left:0}.max-sm\:mt-0{margin-top:0}.max-sm\:flex{display:flex}.max-sm\:hidden{display:none}.max-sm\:max-h-\[75vh\]{max-height:75vh}.max-sm\:w-48{width:12rem}.max-sm\:w-auto{width:auto}.max-sm\:min-w-0{min-width:0px}.max-sm\:max-w-none{max-width:none}.max-sm\:flex-1{flex:1 1 0%}.max-sm\:basis-0{flex-basis:0px}.max-sm\:basis-full{flex-basis:100%}.max-sm\:flex-wrap{flex-wrap:wrap}.max-sm\:flex-nowrap{flex-wrap:nowrap}.max-sm\:items-center{align-items:center}.max-sm\:gap-2{gap:.5rem}.max-sm\:gap-y-0\.5{row-gap:.125rem}.max-sm\:overflow-x-auto{overflow-x:auto}.max-sm\:overflow-y-auto{overflow-y:auto}.max-sm\:bg-transparent{background-color:transparent}.max-sm\:px-3{padding-left:.75rem;padding-right:.75rem}.max-sm\:pb-\[calc\(0\.5rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}.max-sm\:pl-3{padding-left:.75rem}.max-sm\:pl-\[21px\]{padding-left:21px}.max-sm\:\[scrollbar-width\:none\]{scrollbar-width:none}.max-sm\:before\:left-\[5px\]:before{content:var(--tw-content);left:5px}}@media(min-width:640px){.sm\:not-sr-only{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.sm\:col-span-1{grid-column:span 1 / span 1}.sm\:ml-auto{margin-left:auto}.sm\:mt-0\.5{margin-top:.125rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:max-h-\[80vh\]{max-height:80vh}.sm\:max-h-\[85vh\]{max-height:85vh}.sm\:w-20{width:5rem}.sm\:w-28{width:7rem}.sm\:w-44{width:11rem}.sm\:w-56{width:14rem}.sm\:w-\[34rem\]{width:34rem}.sm\:w-\[36rem\]{width:36rem}.sm\:w-auto{width:auto}.sm\:max-w-\[32rem\]{max-width:32rem}.sm\:max-w-\[92vw\]{max-width:92vw}.sm\:max-w-\[94vw\]{max-width:94vw}.sm\:max-w-none{max-width:none}.sm\:max-w-sm{max-width:24rem}.sm\:flex-1{flex:1 1 0%}.sm\:basis-auto{flex-basis:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[8\.5rem_minmax\(0\,1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:8.5rem minmax(0,1fr) minmax(0,1fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-center{align-items:center}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:rounded-ui{border-radius:6px}.sm\:p-4{padding:1rem}.sm\:pb-0{padding-bottom:0}.sm\:pt-0\.5{padding-top:.125rem}.sm\:pt-1{padding-top:.25rem}@media(prefers-reduced-motion:no-preference){@keyframes ui-pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.sm\:motion-safe\:animate-ui-pop{animation:ui-pop .14s cubic-bezier(.2,.7,.2,1)}}}@media(min-width:768px){.md\:pointer-events-none{pointer-events:none}.md\:inset-y-0{top:0;bottom:0}.md\:left-auto{left:auto}.md\:right-0{right:0}.md\:mx-5{margin-left:1.25rem;margin-right:1.25rem}.md\:ml-auto{margin-left:auto}.md\:block{display:block}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:contents{display:contents}.md\:hidden{display:none}.md\:h-11{height:2.75rem}.md\:h-14{height:3.5rem}.md\:h-\[85vh\]{height:85vh}.md\:max-h-\[70vh\]{max-height:70vh}.md\:w-52{width:13rem}.md\:w-56{width:14rem}.md\:w-\[34rem\]{width:34rem}.md\:w-\[60rem\]{width:60rem}.md\:w-\[min\(640px\,92vw\)\]{width:min(640px,92vw)}.md\:w-\[min\(var\(--tray-w\)\,92vw\)\]{width:min(var(--tray-w),92vw)}.md\:min-w-0{min-width:0px}.md\:max-w-\[14rem\]{max-width:14rem}.md\:max-w-\[95vw\]{max-width:95vw}.md\:max-w-\[min\(34rem\,45\%\)\]{max-width:min(34rem,45%)}.md\:flex-\[1_0_auto\]{flex:1 0 auto}.md\:flex-none{flex:none}.md\:shrink{flex-shrink:1}.md\:basis-\[18rem\]{flex-basis:18rem}.md\:basis-auto{flex-basis:auto}.md\:cursor-text{cursor:text}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1fr_1fr_20rem\]{grid-template-columns:1fr 1fr 20rem}.md\:flex-wrap{flex-wrap:wrap}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md\:rounded-\[10px\]{border-radius:10px}.md\:border-b-0{border-bottom-width:0px}.md\:border-l{border-left-width:1px}.md\:border-r{border-right-width:1px}.md\:border-t-0{border-top-width:0px}.md\:p-4{padding:1rem}.md\:p-6{padding:1.5rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-7{padding-left:1.75rem;padding-right:1.75rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:px-\[18px\]{padding-left:18px;padding-right:18px}.md\:pb-0{padding-bottom:0}.md\:pb-3{padding-bottom:.75rem}.md\:pb-4{padding-bottom:1rem}.md\:pl-3{padding-left:.75rem}.md\:pl-4{padding-left:1rem}.md\:pl-8{padding-left:2rem}.md\:pr-12{padding-right:3rem}.md\:pt-0{padding-top:0}.md\:pt-4{padding-top:1rem}.md\:pt-5{padding-top:1.25rem}.md\:pt-\[14vh\]{padding-top:14vh}.md\:shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.md\:shadow-black\/30{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}@media(prefers-reduced-motion:no-preference){@keyframes ui-pop{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}.md\:motion-safe\:animate-ui-pop{animation:ui-pop .14s cubic-bezier(.2,.7,.2,1)}@keyframes ui-slide-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.md\:motion-safe\:animate-ui-slide-in{animation:ui-slide-in .16s cubic-bezier(.2,.7,.2,1)}}}@media(min-width:1024px){.lg\:relative{position:relative}.lg\:bottom-\[var\(--tray-bottom\,0px\)\]{bottom:var(--tray-bottom,0px)}.lg\:right-\[var\(--tray-right\,0px\)\]{right:var(--tray-right,0px)}.lg\:top-\[var\(--tray-top\,0px\)\]{top:var(--tray-top,0px)}.lg\:z-30{z-index:30}.lg\:z-auto{z-index:auto}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-64{width:16rem}.lg\:w-72{width:18rem}.lg\:w-\[min\(var\(--tray-w\)\,var\(--tray-room\,92vw\)\)\]{width:min(var(--tray-w),var(--tray-room,92vw))}.lg\:flex-none{flex:none}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,5fr\)_minmax\(0\,2fr\)\]{grid-template-columns:minmax(0,5fr) minmax(0,2fr)}.lg\:border-l{border-left-width:1px}.lg\:border-ui-line{--tw-border-opacity: 1;border-color:rgb(var(--ui-line) / var(--tw-border-opacity, 1))}.lg\:px-5{padding-left:1.25rem;padding-right:1.25rem}.lg\:pb-0{padding-bottom:0}.lg\:pl-4{padding-left:1rem}}@media(min-width:1280px){.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:w-96{width:24rem}.xl\:flex-none{flex:none}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:1536px){.\32xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{.print\:hidden{display:none}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\>li\]\:rounded-none>li{border-radius:0}.\[\&\>li\]\:bg-ui-raise>li{--tw-bg-opacity: 1;background-color:rgb(var(--ui-raise) / var(--tw-bg-opacity, 1))}.\[\&_\.bg-ui-raise\:hover\]\:bg-ui-sel .bg-ui-raise:hover{--tw-bg-opacity: 1;background-color:rgb(var(--ui-sel) / var(--tw-bg-opacity, 1))}.\[\&_\.bg-ui-raise\]\:bg-ui-hover .bg-ui-raise{--tw-bg-opacity: 1;background-color:rgb(var(--ui-hover) / var(--tw-bg-opacity, 1))}.\[\&_img\]\:hidden img{display:none}.\[\&_tr\:hover\>\*\:first-child\]\:bg-ui-hover tr:hover>*:first-child{--tw-bg-opacity: 1;background-color:rgb(var(--ui-hover) / var(--tw-bg-opacity, 1))}.\[\&_tr\>\*\:first-child\]\:sticky tr>*:first-child{position:sticky}.\[\&_tr\>\*\:first-child\]\:left-0 tr>*:first-child{left:0}.\[\&_tr\>\*\:first-child\]\:z-\[1\] tr>*:first-child{z-index:1}.\[\&_tr\>\*\:first-child\]\:bg-ui-bg tr>*:first-child{--tw-bg-opacity: 1;background-color:rgb(var(--ui-bg) / var(--tw-bg-opacity, 1))}@media not all and (min-width:640px){.max-sm\:\[\&_tr\>\*\:first-child\]\:min-w-\[40vw\] tr>*:first-child{min-width:40vw}.max-sm\:\[\&_tr\>\*\:first-child\]\:max-w-\[55vw\] tr>*:first-child{max-width:55vw}}@media(hover:hover){.\[\@media\(hover\:hover\)\]\:shrink-0{flex-shrink:0}.\[\@media\(hover\:hover\)\]\:pr-0{padding-right:0}.\[\@media\(hover\:hover\)\]\:opacity-0{opacity:0}.group:focus-within .\[\@media\(hover\:hover\)\]\:group-focus-within\:opacity-100{opacity:1}.group:hover .\[\@media\(hover\:hover\)\]\:group-hover\:opacity-100{opacity:1}}