limn-review 0.1.144 → 0.1.145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/budget.js +26 -1
- package/dist/api/routes/ai-budget.js +16 -7
- package/dist/shared/ai-budget.js +21 -2
- package/package.json +1 -1
- package/public/assets/{AiFixTab-C3QTCWh3.js → AiFixTab-B3Tk1CSK.js} +1 -1
- package/public/assets/{ClaudeReviewTab-ITKwJAxq.js → ClaudeReviewTab-Pq-RnFxz.js} +1 -1
- package/public/assets/{PrBotBehaviourTab-ChfF8zOq.js → PrBotBehaviourTab-2y4itLnt.js} +1 -1
- package/public/assets/index-CTwtlPvo.css +1 -0
- package/public/assets/index-DbYNXOny.js +82 -0
- package/public/index.html +2 -2
- package/public/assets/index-BS5YZ0nk.css +0 -1
- package/public/assets/index-CFlzr-u4.js +0 -82
package/dist/ai/budget.js
CHANGED
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
//
|
|
46
46
|
// One budget per ACCOUNT (= per machine), never per workspace.
|
|
47
47
|
import { and, eq, gte, inArray } from 'drizzle-orm';
|
|
48
|
-
import { AI_BUDGET_DAY_MS, AI_BUDGET_WEEK_MS, aiUsageView, budgetWindowStart, decideAiBudget, liveFiveHourReset, liveWeekReset, resolveAiBudgetSettings, rollingSpend, } from '../shared/index.js';
|
|
48
|
+
import { AI_BUDGET_DAY_MS, AI_BUDGET_WEEK_MS, aiProviderWorthShowing, aiUsageView, budgetWindowStart, decideAiBudget, liveFiveHourReset, liveWeekReset, resolveAiBudgetSettings, rollingSpend, } from '../shared/index.js';
|
|
49
49
|
import { db, schema } from '../db/client.js';
|
|
50
50
|
import { LOCAL_ACCOUNT_ID } from '../auth/account.js';
|
|
51
51
|
import { getActiveProvider, getProvider } from './provider.js';
|
|
@@ -321,6 +321,31 @@ export async function aiBudgetSnapshot(accountId, opts = {}) {
|
|
|
321
321
|
}),
|
|
322
322
|
};
|
|
323
323
|
}
|
|
324
|
+
/** Every provider id the budget knows, the default first. */
|
|
325
|
+
const PROVIDER_IDS = ['claude', 'codex'];
|
|
326
|
+
/**
|
|
327
|
+
* The OTHER providers' figures for the header's popover (every provider but the default): each one
|
|
328
|
+
* that holds a credential, or that Limn ran on in its current week (`aiProviderWorthShowing`), with
|
|
329
|
+
* its own decision and usage view — its own windows, its own ledger rows. Never throws: a provider
|
|
330
|
+
* whose read fails is left out.
|
|
331
|
+
*/
|
|
332
|
+
export async function aiBudgetOthers(accountId, opts = {}) {
|
|
333
|
+
const defaultId = getActiveProvider().id;
|
|
334
|
+
const out = [];
|
|
335
|
+
for (const id of PROVIDER_IDS) {
|
|
336
|
+
if (id === defaultId)
|
|
337
|
+
continue;
|
|
338
|
+
try {
|
|
339
|
+
const snap = await aiBudgetSnapshot(accountId, { ...opts, provider: id });
|
|
340
|
+
if (aiProviderWorthShowing(snap.usage))
|
|
341
|
+
out.push({ provider: id, status: snap.status, usage: snap.usage });
|
|
342
|
+
}
|
|
343
|
+
catch {
|
|
344
|
+
/* left out */
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
return out;
|
|
348
|
+
}
|
|
324
349
|
/** The budget's status for an account. Never throws: a failed read is "off" (never blocks). */
|
|
325
350
|
export async function aiBudgetStatus(accountId, opts = {}) {
|
|
326
351
|
try {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { aiBudgetSettingsView, validateAiBudgetBody, } from '../../shared/index.js';
|
|
2
2
|
import { config } from '../../config.js';
|
|
3
3
|
import { accountIdOf } from '../plugins/auth.js';
|
|
4
|
-
import { aiBudgetSnapshot, installAiBudgetObserver, writeAiBudgetSettings } from '../../ai/budget.js';
|
|
4
|
+
import { aiBudgetOthers, aiBudgetSnapshot, installAiBudgetObserver, writeAiBudgetSettings } from '../../ai/budget.js';
|
|
5
5
|
// THE CLAUDE SPEND BUDGET (ai/budget.ts; types in packages/shared ai-budget.ts).
|
|
6
6
|
//
|
|
7
7
|
// GET /api/ai/budget[?provider=claude|codex] → AiBudgetResponse (the named provider's, else the
|
|
@@ -10,7 +10,9 @@ import { aiBudgetSnapshot, installAiBudgetObserver, writeAiBudgetSettings } from
|
|
|
10
10
|
// (`status`) and the header's usage view (`usage`). Serves the CACHED usage
|
|
11
11
|
// reading and, on the login route, starts the usage probe IN THE BACKGROUND
|
|
12
12
|
// (at most every 5 minutes, 20s timeout, no model call) — it never waits.
|
|
13
|
-
// The header polls it every ~2 minutes while the tab is visible.
|
|
13
|
+
// The header polls it every ~2 minutes while the tab is visible. The plain
|
|
14
|
+
// read (no `?provider=`) adds `others`: every OTHER provider that holds a
|
|
15
|
+
// credential or that Limn ran on this week, each with its own status + usage.
|
|
14
16
|
// PUT /api/ai/budget AiBudgetBody (any subset; validated) → AiBudgetResponse.
|
|
15
17
|
//
|
|
16
18
|
// Registered only when `config.aiEnabled`. Registering it also installs the message observer every
|
|
@@ -20,12 +22,19 @@ export async function aiBudgetRoutes(app) {
|
|
|
20
22
|
return;
|
|
21
23
|
installAiBudgetObserver();
|
|
22
24
|
const respond = async (accountId, provider) => {
|
|
23
|
-
const { settings, isDefault, status, usage } = await
|
|
24
|
-
probe: 'always',
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
const [{ settings, isDefault, status, usage }, others] = await Promise.all([
|
|
26
|
+
aiBudgetSnapshot(accountId, { probe: 'always', ...(provider ? { provider } : {}) }),
|
|
27
|
+
// The header's popover shows EVERY provider in use: the others ride the plain read only.
|
|
28
|
+
provider ? Promise.resolve(null) : aiBudgetOthers(accountId, { probe: 'always' }),
|
|
29
|
+
]);
|
|
27
30
|
// A subscription carries no US$ on the wire: the API key's weekly figure is sent only on that route.
|
|
28
|
-
return {
|
|
31
|
+
return {
|
|
32
|
+
settings: aiBudgetSettingsView(settings, status.route),
|
|
33
|
+
isDefault,
|
|
34
|
+
status,
|
|
35
|
+
usage,
|
|
36
|
+
...(others ? { others } : {}),
|
|
37
|
+
};
|
|
29
38
|
};
|
|
30
39
|
// `?provider=claude|codex`: that provider's reading (the per-run picker's over-budget confirm, for a
|
|
31
40
|
// run on the provider that is NOT the default). Absent or anything else ⇒ the default provider's.
|
package/dist/shared/ai-budget.js
CHANGED
|
@@ -182,6 +182,20 @@ export function resolveAiSubscription(reported, picked) {
|
|
|
182
182
|
export function aiBudgetSettingsView(settings, route) {
|
|
183
183
|
return { ...settings, weeklyUsd: route === 'api_key' ? settings.weeklyUsd : null };
|
|
184
184
|
}
|
|
185
|
+
/** Whether a non-default provider belongs in the header's popover: signed in, or Limn used it this week. Pure. */
|
|
186
|
+
export function aiProviderWorthShowing(usage) {
|
|
187
|
+
return usage.route !== 'none' || usage.limn.runs > 0;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* The scale a Limn share's bar is drawn against, in % of the allowance: the reader's limit while the
|
|
191
|
+
* budget is on, else AI_BUDGET_SHARE_MAX (50%) — the most Limn can be given, so the bar still says how
|
|
192
|
+
* far along it is with no limit set. `limitSet` says which. Pure.
|
|
193
|
+
*/
|
|
194
|
+
export function limnShareScale(status, which) {
|
|
195
|
+
const sub = status.enabled && status.mode === 'subscription' ? status.subscription : null;
|
|
196
|
+
const set = sub == null ? null : which === 'week' ? sub.sharePct : sub.fiveHourSharePct;
|
|
197
|
+
return set != null && set > 0 ? { maxPct: set, limitSet: true } : { maxPct: AI_BUDGET_SHARE_MAX, limitSet: false };
|
|
198
|
+
}
|
|
185
199
|
/**
|
|
186
200
|
* A run's cost as a share of the week, for a subscription: "0.3% of your week", "<0.1% of your week".
|
|
187
201
|
* Null when there is nothing honest to say (no rate, no cost). Pure.
|
|
@@ -494,6 +508,8 @@ export function aiUsageView(input) {
|
|
|
494
508
|
const login = route === 'login';
|
|
495
509
|
const weekReset = login ? liveWeekReset(reading, nowMs) : null;
|
|
496
510
|
const weekFromMs = weekReset != null ? weekReset - AI_BUDGET_WEEK_MS : nowMs - AI_BUDGET_WEEK_MS;
|
|
511
|
+
const fiveReset = login ? liveFiveHourReset(reading, nowMs) : null;
|
|
512
|
+
const fiveFromMs = fiveReset != null ? fiveReset - AI_BUDGET_FIVE_HOUR_MS : nowMs - AI_BUDGET_FIVE_HOUR_MS;
|
|
497
513
|
const inWeek = ledger.filter((r) => (weekReset != null ? r.atMs >= weekFromMs : r.atMs > weekFromMs) && r.atMs <= nowMs);
|
|
498
514
|
const sumTokens = (pick) => {
|
|
499
515
|
const xs = inWeek.map(pick).filter((n) => typeof n === 'number' && Number.isFinite(n));
|
|
@@ -541,8 +557,7 @@ export function aiUsageView(input) {
|
|
|
541
557
|
};
|
|
542
558
|
if (kind != null) {
|
|
543
559
|
const est = SUBSCRIPTION_ESTIMATES[kind];
|
|
544
|
-
const
|
|
545
|
-
const fiveUsd = fiveReset != null ? spend(fiveReset - AI_BUDGET_FIVE_HOUR_MS, true) : spend(nowMs - AI_BUDGET_FIVE_HOUR_MS, false);
|
|
560
|
+
const fiveUsd = spend(fiveFromMs, fiveReset != null);
|
|
546
561
|
weekSharePct = round2((inWeek.reduce((s, r) => s + r.usd, 0) / est.week) * 100);
|
|
547
562
|
fiveHourSharePct = round2((fiveUsd / est.fiveHour) * 100);
|
|
548
563
|
weekPctPerUsd = 100 / est.week;
|
|
@@ -555,6 +570,10 @@ export function aiUsageView(input) {
|
|
|
555
570
|
limn: {
|
|
556
571
|
weekFrom: new Date(weekFromMs).toISOString(),
|
|
557
572
|
window: weekReset != null ? 'reset' : 'rolling',
|
|
573
|
+
weekResetsAt: isoOf(weekReset),
|
|
574
|
+
fiveHourFrom: new Date(fiveFromMs).toISOString(),
|
|
575
|
+
fiveHourWindow: fiveReset != null ? 'reset' : 'rolling',
|
|
576
|
+
fiveHourResetsAt: isoOf(fiveReset),
|
|
558
577
|
runs: inWeek.length,
|
|
559
578
|
inputTokens: sumTokens((r) => r.inputTokens),
|
|
560
579
|
outputTokens: sumTokens((r) => r.outputTokens),
|
package/package.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{d as Re,r as p,j as e}from"./tanstack-BnbsafB1.js";import{aC as J,aB as He,ck as fe,cr as qe,c1 as ze,ci as Ve,c3 as Ce,av as Je,cj as $,A as ye,aA as Ae,M as q,p as Ge,a6 as se,b4 as Fe,U as Ie,e as z,ay as Se,h as Te,a as Xe,cW as Qe,bx as Ze,aD as et,cO as tt,cP as st,R as rt,x as at,L as nt,bh as it,ch as lt,cg as dt,c0 as ct,aZ as ot,by as ut,ag as xt,aY as ht,aO as mt,bI as Ee,bi as gt,bY as _e,bZ as pt,ca as bt,cp as ft,co as yt,cH as jt,cI as kt,az as Nt,aw as vt,b$ as wt,b_ as Pt,cb as Rt,ax as Ct,bm as At,bv as re,O as Ft,E as It,K as St,bE as Me,cz as Tt,D as Et}from"./index-
|
|
1
|
+
import{d as Re,r as p,j as e}from"./tanstack-BnbsafB1.js";import{aC as J,aB as He,ck as fe,cr as qe,c1 as ze,ci as Ve,c3 as Ce,av as Je,cj as $,A as ye,aA as Ae,M as q,p as Ge,a6 as se,b4 as Fe,U as Ie,e as z,ay as Se,h as Te,a as Xe,cW as Qe,bx as Ze,aD as et,cO as tt,cP as st,R as rt,x as at,L as nt,bh as it,ch as lt,cg as dt,c0 as ct,aZ as ot,by as ut,ag as xt,aY as ht,aO as mt,bI as Ee,bi as gt,bY as _e,bZ as pt,ca as bt,cp as ft,co as yt,cH as jt,cI as kt,az as Nt,aw as vt,b$ as wt,b_ as Pt,cb as Rt,ax as Ct,bm as At,bv as re,O as Ft,E as It,K as St,bE as Me,cz as Tt,D as Et}from"./index-DbYNXOny.js";import{r as _t,t as Mt,S as Bt,C as Lt,T as Ut,F as $t,f as Dt,M as Ot}from"./ClaudeReviewTab-Pq-RnFxz.js";import"./markdown-CcoLFczy.js";import"./highlight-DIEV0qGG.js";import"./vis-C3BCkP5U.js";const Yt="whitespace-nowrap rounded border border-blue-400 px-2.5 py-1 text-xs text-blue-600 hover:bg-blue-50 disabled:opacity-50 dark:border-blue-600 dark:text-blue-400 dark:hover:bg-blue-900/30",X="whitespace-nowrap rounded border border-gray-300 px-2.5 py-1 text-xs hover:border-gray-400 disabled:opacity-50 dark:border-gray-700 dark:hover:border-gray-500",je="inline-flex items-center rounded bg-gray-500/10 px-1.5 py-px font-mono text-[11px] text-gray-700 dark:text-gray-200";function Kt(t){return t instanceof Te||t instanceof Error?t.message:"Something went wrong"}function Be({plan:t}){return e.jsx("ul",{className:"list-disc space-y-0.5 pl-5 text-[13px] text-gray-800 dark:text-gray-100",children:t.summary.map((s,r)=>e.jsx("li",{children:s},r))})}function ke(t,s){var r;return((r=t==null?void 0:t.find(n=>n.ref===s))==null?void 0:r.title)??null}function Wt({plan:t,items:s}){return e.jsxs("div",{className:"mt-2 space-y-3 text-xs text-gray-700 dark:text-gray-200",children:[t.steps.length>0&&e.jsx("ol",{className:"list-decimal space-y-2 pl-5",children:t.steps.map((r,n)=>e.jsxs("li",{children:[e.jsx("div",{className:"font-medium text-gray-800 dark:text-gray-100",children:r.title}),r.files.length>0&&e.jsx("div",{className:"mt-0.5 font-mono text-[11px] text-gray-600 dark:text-gray-300",children:r.files.join(", ")}),e.jsx("p",{className:"mt-0.5 whitespace-pre-wrap",children:r.change}),r.refs.length>0&&e.jsx("div",{className:"mt-1 flex flex-wrap gap-1",children:r.refs.map(a=>e.jsx("span",{className:je,children:a},a))})]},n))}),t.notAddressed.length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"mb-1 font-semibold text-gray-600 dark:text-gray-300",children:"Will not fix"}),e.jsx("ul",{className:"space-y-1",children:t.notAddressed.map(r=>e.jsxs("li",{children:[e.jsx("span",{className:je,children:r.ref})," ",ke(s,r.ref)&&e.jsxs("span",{className:"font-medium",children:[ke(s,r.ref),": "]}),r.reason]},r.ref))})]}),t.notCovered.length>0&&e.jsxs("p",{children:[e.jsx("span",{className:"font-semibold text-gray-600 dark:text-gray-300",children:"Not in the plan: "}),t.notCovered.join(", ")]})]})}function Ht({pr:t,fix:s,liveStatus:r,passRunning:n,auth:a}){var N,y;const l=s.plan,d=J(s.plan??s),h=He((s.plan??s).provider,(s.plan??s).model),j=fe(h,"plan"),f=fe(h,"fix"),i=Se(j),k=qe(t.id),g=ze(t.id),w=Ve(t.id),I=Ce(t.id),S=Re({mutationKey:Je(t.id)})>0,D=$(x=>x.noteAiFixRun),[T,E]=p.useState(""),[A,_]=p.useState(!1);if(!l)return null;const P=l.plan,R=l.status==="plan_ready"&&!n,C=T.trim(),v=C.length>ye,c=()=>{!R||S||C===""||v||k.mutate({fixId:s.id,text:C},{onSuccess:()=>E("")})},m=()=>{D({prId:t.id,repoFullName:t.repoFullName,prNumber:t.number,prTitle:t.title}),g.mutate(s.id)},o=k.error??g.error??w.error;return e.jsxs("div",{className:"mt-3 rounded border border-gray-200 p-3 dark:border-gray-800",children:[e.jsxs("div",{className:"mb-1 flex items-center gap-1 text-xs font-semibold text-gray-700 dark:text-gray-200",children:["Plan",P&&l.revision>1&&e.jsxs("span",{className:"font-normal text-gray-500 dark:text-gray-400",children:["· version ",l.revision]}),l.model&&e.jsxs("span",{className:"font-normal text-gray-500 dark:text-gray-400",children:["· ",Ae(l.provider,l.model,l.effort)]}),e.jsxs(q,{title:"Plan first",children:[e.jsxs("p",{children:[i," reads the code and writes a plan. It changes nothing."]}),e.jsxs("p",{children:["Tell ",i," what to change and it rewrites the plan, taking the whole conversation into account. Each message runs ",i," again."]}),e.jsxs("p",{children:["When you approve, ",i," builds the fix from this plan. You still review the diff and press Push."]})]})]}),P?e.jsxs(e.Fragment,{children:[e.jsx(Be,{plan:P}),e.jsxs("button",{type:"button",className:"mt-2 inline-flex items-center gap-1 text-xs text-gray-600 hover:text-gray-800 dark:text-gray-300 dark:hover:text-gray-100","aria-expanded":A,onClick:()=>_(x=>!x),children:[e.jsx(Ge,{dir:A?"down":"right"}),"Details"]}),A&&e.jsx(Wt,{plan:P,items:s.reviewItems})]}):!n&&e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-300",children:"No plan yet."}),s.error&&e.jsx("p",{className:"mt-2 rounded border border-amber-200 bg-amber-50 p-2 text-xs text-amber-800 dark:border-amber-800 dark:bg-amber-950/30 dark:text-amber-200",children:s.error}),l.transcript.length>0&&e.jsx("ul",{className:"mt-3 space-y-1.5 border-t border-gray-200 pt-2 text-xs dark:border-gray-800",children:l.transcript.map((x,B)=>e.jsxs("li",{className:"whitespace-pre-wrap text-gray-700 dark:text-gray-200",children:[e.jsxs("span",{className:"font-semibold",children:[x.role==="reader"?"You":d,": "]}),x.text]},B))}),n&&e.jsxs("div",{className:"mt-3",children:[e.jsx(se,{active:!0,label:P?"Updating the plan":"Making the plan",value:Fe(r),timeConstantSec:30}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400",children:[Ie[((N=r==null?void 0:r.progress)==null?void 0:N.phase)??""]??"Working…",e.jsx("button",{type:"button",className:X,onClick:()=>I.mutate(),children:"Cancel"})]}),((y=r==null?void 0:r.progress)==null?void 0:y.recentActivity)&&r.progress.recentActivity.length>0&&e.jsx("pre",{className:"mt-1 max-h-32 overflow-auto rounded bg-gray-50 p-2 text-[11px] leading-relaxed text-gray-500 dark:bg-gray-900 dark:text-gray-400",children:r.progress.recentActivity.slice(-8).join(`
|
|
2
2
|
`)})]}),R&&P&&e.jsxs("div",{className:"mt-3",children:[e.jsxs(z,{kind:"plan",auth:a,meter:!1,followUp:!0,provider:j,children:[e.jsx("textarea",{"aria-label":"Change the plan",className:"w-full rounded border border-gray-300 bg-transparent px-2 py-1 text-xs dark:border-gray-700",rows:2,placeholder:`Tell ${i} what to change in the plan`,value:T,disabled:S,onChange:x=>E(x.target.value),onKeyDown:x=>{x.key==="Enter"&&(x.metaKey||x.ctrlKey)&&(x.preventDefault(),c())}}),v&&e.jsxs("p",{className:"text-[12px] text-red-600 dark:text-red-400",children:["Keep it under ",ye.toLocaleString("en-US")," characters."]}),e.jsx("div",{className:"mt-2",children:e.jsx("button",{type:"button","data-ai-run":!0,className:X,disabled:S||C===""||v,onClick:c,children:"Update plan"})})]}),e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[e.jsx(z,{kind:"fix",auth:a,followUp:!0,provider:f,children:e.jsx("button",{type:"button","data-ai-run":!0,className:Yt,disabled:S,onClick:m,children:"Approve and build"})}),e.jsx("button",{type:"button",className:X,disabled:S,onClick:()=>w.mutate(s.id),children:"Discard plan"})]})]}),o!=null&&e.jsx("p",{className:"mt-1 text-[12px] text-red-600 dark:text-red-400",children:Kt(o)})]})}function Le({fix:t}){var r;const s=((r=t.plan)==null?void 0:r.status)==="approved"?t.plan.plan:null;return s?e.jsxs("div",{className:"mb-2 rounded border border-gray-200 p-2 dark:border-gray-800",children:[e.jsx("div",{className:"mb-1 text-xs font-semibold text-gray-600 dark:text-gray-300",children:"Built from your plan"}),e.jsx(Be,{plan:s})]}):null}function qt(t,s,r){var n;return t??((s==null?void 0:s.status)==="succeeded"?s.id:((n=r.find(a=>a.status==="succeeded"))==null?void 0:n.id)??null)}function zt(t,s,r){return s==null||r==null||s===r.id?null:t!=null?"Uses the review you picked, not the latest.":r.status==="failed"?"Uses the last review that finished. The latest one failed.":r.status==="running"||r.status==="queued"?"Uses the last review that finished. A newer one is running.":"Uses the last review that finished."}const Ne="inline-flex max-w-full items-center gap-1 rounded px-1.5 py-0.5 text-[11px] font-medium bg-gray-500/10 text-gray-700 dark:text-gray-200",W="mb-1 mt-3 flex items-center gap-1 text-xs font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400";function Vt(t){return t.kind==="finding"&&t.findingId!=null?`claude-finding-${t.findingId}`:null}function Jt(t){const s=$(r=>r.openClaudeReview);return r=>{s({id:t.id,number:t.number,title:t.title,repoFullName:t.repoFullName,authorLogin:null,authorDisplayName:null,authorAvatarUrl:null});const n=Date.now()+3e3,a=()=>{const l=document.getElementById(r);if(l){l.scrollIntoView({behavior:"smooth",block:"center"});return}Date.now()<n&&requestAnimationFrame(a)};requestAnimationFrame(a)}}function H({refId:t,item:s,onJump:r}){const n=s?`${Xe[s.kind]} ${t}`:t,a=e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"shrink-0",children:n}),s&&e.jsxs("span",{className:"min-w-0 truncate font-normal",children:["· ",s.title]})]}),l=s?Vt(s):null;return l?e.jsx("button",{type:"button",onClick:()=>r(l),"aria-label":`${n}: ${(s==null?void 0:s.title)??""}. Show in AI Review`,className:`${Ne} max-w-[22rem] hover:bg-gray-500/20`,children:a}):e.jsx("span",{className:`${Ne} max-w-[22rem]`,children:a})}function Gt(t){var s;switch(t.seed){case"review":{const r=((s=t.reviewItems)==null?void 0:s.length)??0;return`Fix from the AI review${r>0?` (${r} item${r===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 Xt({pr:t,fix:s}){const r=J(s),n=Jt(t),a=s.changeReport,l=new Map((s.reviewItems??[]).map(i=>[i.ref,i])),d=(s.reviewItems??[]).filter(i=>!i.included);if(!a&&d.length===0)return null;const h=new Set((a==null?void 0:a.changes.map(i=>i.path))??[]),j=s.filesChanged.filter(i=>!h.has(i)),f=l.size>0;return e.jsxs("div",{className:"mt-2 text-xs",children:[a&&(a.changes.length>0||j.length>0)&&e.jsxs("section",{children:[e.jsxs("div",{className:W,children:["Changes",e.jsxs(q,{title:"Changes",children:[e.jsxs("p",{children:["What ",r," says it changed in each file, and why."]}),f&&e.jsx("p",{children:"Each tag is a review item the change answers. A finding tag opens it in the AI Review tab."}),e.jsx("p",{children:"The diff below is what actually changed."})]})]}),e.jsxs("ul",{className:"space-y-2",children:[a.changes.map(i=>e.jsxs("li",{children:[e.jsx("div",{className:"break-all font-mono text-gray-800 dark:text-gray-100",children:i.path}),i.summary&&e.jsx("p",{className:"mt-0.5 text-gray-700 dark:text-gray-300",children:i.summary}),i.refs.length>0&&e.jsx("div",{className:"mt-1 flex flex-wrap gap-1",children:i.refs.map(k=>e.jsx(H,{refId:k,item:l.get(k),onJump:n},k))})]},i.path)),j.map(i=>e.jsxs("li",{children:[e.jsx("div",{className:"break-all font-mono text-gray-800 dark:text-gray-100",children:i}),e.jsx("p",{className:"mt-0.5 text-gray-500 dark:text-gray-400",children:"No summary reported."})]},i))]})]}),a&&a.unaddressed.length>0&&e.jsxs("section",{children:[e.jsx("div",{className:W,children:"Not addressed"}),e.jsx("ul",{className:"space-y-1.5",children:a.unaddressed.map(i=>e.jsxs("li",{children:[e.jsx(H,{refId:i.ref,item:l.get(i.ref),onJump:n}),e.jsx("p",{className:"mt-0.5 text-gray-700 dark:text-gray-300",children:i.reason})]},i.ref))})]}),a&&a.notReported.length>0&&e.jsxs("section",{children:[e.jsx("div",{className:W,children:"No report"}),e.jsx("div",{className:"flex flex-wrap gap-1",children:a.notReported.map(i=>e.jsx(H,{refId:i,item:l.get(i),onJump:n},i))})]}),d.length>0&&e.jsxs("section",{children:[e.jsxs("div",{className:W,children:["Left out",e.jsx(q,{title:"Left out",children:e.jsxs("p",{children:["These review items did not fit in what ",r," was sent, so it never saw them."]})})]}),e.jsx("div",{className:"flex flex-wrap gap-1",children:d.map(i=>e.jsx(H,{refId:i.ref,item:i,onJump:n},i.ref))})]})]})}const Qt=["findings","earlier_findings","judged_threads","untouched_threads","ci_failures","sonar","style_bots","story"],Zt={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 ve(t,s="Claude"){return t==="findings"?`${s}’s findings`:t==="judged_threads"?`Threads ${s} says need a fix`:Zt[t]}function V(t,s){return s[t.key]??t.defaultIncluded}function es(t,s){return t.items.filter(r=>V(r,s)).map(r=>r.key)}function Ue(t,s){const r=new Set;let n=0;for(const a of t.items)if(V(a,s)){if(n>0&&n+a.chars>t.budgetChars){r.add(a.key);continue}n+=a.chars}return r}const ts={blocker:"Blocker",warning:"Warning",nit:"Nit",question:"Question",praise:"Praise"},we={blocker:"bg-red-500/10 text-red-700 dark:text-red-300",warning:"bg-amber-500/10 text-amber-700 dark:text-amber-300",nit:"bg-gray-500/10 text-gray-600 dark:text-gray-300"},$e="whitespace-nowrap rounded bg-amber-500/10 px-1 py-px text-[11px] text-amber-700 dark:text-amber-300",Q=new Set;function ss(t,s){return t?s!=null?`${t}:${s}`:t:null}function rs({item:t,picked:s,cut:r,disabled:n,onToggle:a}){return e.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1.5 pt-0.5",children:[e.jsx("input",{type:"checkbox",checked:s,disabled:n,onChange:l=>a(l.target.checked),"aria-label":`Include in the fix: ${t.label}`}),s&&r&&e.jsx("span",{className:$e,children:"Won’t fit"})]})}function as({item:t,picked:s,cut:r,disabled:n,onToggle:a}){const l=ss(t.path,t.line);return e.jsx("li",{children:e.jsxs("label",{className:`flex cursor-pointer items-start gap-2 rounded border px-2 py-1.5 text-xs ${s?"border-blue-300 bg-blue-50/50 dark:border-blue-800 dark:bg-blue-950/20":"border-gray-200 dark:border-gray-800"}`,children:[e.jsx("input",{type:"checkbox",className:"mt-0.5",checked:s,disabled:n,onChange:d=>a(d.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&&we[t.severity]&&e.jsx("span",{className:`rounded px-1 py-px text-[11px] font-medium ${we[t.severity]}`,children:ts[t.severity]}),e.jsx("span",{className:"break-words text-gray-800 dark:text-gray-100",children:t.label}),s&&r&&e.jsx("span",{className:$e,children:"Won’t fit"})]}),(l||t.detail)&&e.jsxs("span",{className:"mt-0.5 block break-words text-[11px] text-gray-500 dark:text-gray-400",children:[l&&e.jsx("span",{className:"font-mono",children:l}),l&&t.detail?" · ":"",t.detail]})]})]})})}function ns({preview:t,overrides:s,onChange:r,disabled:n,pr:a,review:l}){const d=Ue(t,s),h=new Map;for(const c of t.items){const m=h.get(c.section)??[];m.push(c),h.set(c.section,m)}const j=(c,m)=>{const o={...s};for(const N of c)o[N]=m;r(o)},f=l!=null&&l.id===t.sourceReviewId?l:null,i=_t(l),k=Mt(l),g=p.useMemo(()=>f!=null?Qe(f):null,[f]),w=p.useMemo(()=>new Map(((g==null?void 0:g.findings)??[]).map(c=>[c.id,c])),[g]),I=p.useMemo(()=>{var c;return new Map((((c=g==null?void 0:g.followUp)==null?void 0:c.items)??[]).map(m=>[m.priorFindingId,m]))},[g]),S=p.useMemo(()=>g!=null?Ze(g):new Map,[g]),D=p.useMemo(()=>g!=null?et(g):new Set,[g]),T=p.useMemo(()=>{var m;const c=new Set;for(const o of t.items)((m=o.card)==null?void 0:m.kind)==="story"&&c.add(o.card.ticketReviewId);return[...c].sort((o,N)=>o-N)},[t.items]),E=tt(a.id,T.length>0),A=p.useMemo(()=>{var m;const c=new Map;for(const o of((m=E.data)==null?void 0:m.tickets)??[])o.review!=null&&c.set(o.review.id,o.review);return c},[E.data]),_=p.useMemo(()=>E.data==null?[]:T.filter(c=>!A.has(c)),[E.data,T,A]),P=st(_),R=p.useMemo(()=>{const c=new Map(A);for(const m of P)c.set(m.id,m);return c},[A,P]);if(t.items.length===0)return e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"The review found nothing to fix."});const C=(f==null?void 0:f.headSha)??a.headSha,v=c=>{var B,L;const m=V(c,s),o=d.has(c.key),N=u=>j([c.key],u),y=e.jsx(rs,{item:c,picked:m,cut:o,disabled:n,onToggle:N}),x=c.card;switch(x==null?void 0:x.kind){case"finding":{const u=w.get(x.findingId);if(u==null)break;return e.jsx($t,{authorName:Dt(l,u),prId:a.id,finding:u,editable:!1,prUrl:a.githubUrl,repoFullName:a.repoFullName,headSha:C,posting:!1,postError:null,inChangeset:u.fileInDiff,priorStatus:S.get(u.id),alreadyPosted:D.has(u.id),actions:!1,selection:y,docReferences:(f==null?void 0:f.docReferences)??null},c.key)}case"earlier_finding":{const u=I.get(x.priorFindingId);if(u==null)break;return e.jsx(nt,{item:u,muted:!1,findingsById:w,headMoved:((B=g==null?void 0:g.followUp)==null?void 0:B.headMoved)??!1,changedPaths:Q,actions:!1,selection:y,by:i},c.key)}case"thread":return e.jsx(Ut,{t:x.assessment,muted:!1,actions:!1,selection:y,notCheckedNote:x.inReview?void 0:`${k} didn’t check this one.`,by:k},c.key);case"ci":return e.jsx(Lt,{f:x.item,suggestion:x.item.suggestion,changedPaths:Q,selection:y},c.key);case"sonar":return e.jsx(Bt,{issue:x.issue,selection:y},c.key);case"story":{const u=R.get(x.ticketReviewId),b=u==null?void 0:u.items.find(M=>M.id===x.itemId);if(u==null||b==null)break;const Y={review:u,viewedPrId:a.id,changedPaths:Q,actions:!1,selection:y};if(b.status==="missing")return e.jsx(rt,{item:b,...Y},c.key);const O=(L=u.assessment)==null?void 0:L.criteria.find(M=>M.ref===b.ref);if(O==null||O.status==="met")break;return e.jsx(at,{c:O,item:b,...Y},c.key)}}return e.jsx(as,{item:c,picked:m,cut:o,disabled:n,onToggle:N},c.key)};return e.jsxs("div",{className:"space-y-3",children:[Qt.filter(c=>h.has(c)).map(c=>{const m=h.get(c),o=m.filter(y=>V(y,s)).length,N=o===m.length;return e.jsxs("section",{"aria-label":ve(c,i),children:[e.jsxs("div",{className:"mb-1 flex items-center gap-2",children:[e.jsx("h4",{className:"text-xs font-semibold text-gray-700 dark:text-gray-200",children:ve(c,i)}),e.jsxs("span",{className:"text-[11px] text-gray-500 dark:text-gray-400",children:[o," of ",m.length]}),e.jsx("button",{type:"button",className:"ml-auto text-[11px] text-blue-600 hover:underline disabled:opacity-50 dark:text-blue-400",disabled:n,onClick:()=>j(m.map(y=>y.key),!N),children:N?"Untick all":"Tick all"})]}),e.jsx("ul",{className:"space-y-1.5",children:m.map(v)})]},c)}),d.size>0&&e.jsxs("p",{className:"text-xs text-amber-700 dark:text-amber-300",children:[d.size," ticked ",d.size===1?"item does":"items do"," not fit in one fix and will be left out. Untick something to make room."]})]})}const is="whitespace-nowrap rounded border border-blue-400 px-2.5 py-1 text-xs text-blue-600 hover:bg-blue-50 disabled:opacity-50 dark:border-blue-600 dark:text-blue-400 dark:hover:bg-blue-900/30",Pe="whitespace-nowrap rounded border border-gray-300 px-2.5 py-1 text-xs hover:border-gray-400 dark:border-gray-700 dark:hover:border-gray-500";function De(t){return{prId:t.id,repoId:t.repoId,repoFullName:t.repoFullName,prNumber:t.number,prTitle:t.title,githubUrl:t.githubUrl}}function ls(t){const s=it({mergeable:t.mergeable,mergeStateStatus:t.mergeStateStatus,isDraft:t.isDraft,inMergeQueue:t.inMergeQueue===!0}).verdict;return lt({state:t.state,verdict:s,viewerCanPush:t.viewerCanPush})}function ds({pr:t}){const s=dt(t.id),r=ct(),n=ot(s),a=t.baseRefName??"the base branch";p.useEffect(()=>{ut(t.id)},[t.id]);const l=De(t),d=(s==null?void 0:s.phase)==="succeeded"?s.resolution:null;return e.jsxs("div",{className:"mb-3 rounded border border-gray-200 p-3 dark:border-gray-800",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-sm font-medium text-gray-800 dark:text-gray-100",children:[e.jsx(xt,{size:13,className:"text-ai-signal"}),"This branch conflicts with ",a]}),e.jsxs("p",{className:"mt-1 text-[12px] text-gray-600 dark:text-gray-300",children:[r," reads the code and picks a result for each conflict. You check its choices in the resolver before anything is pushed."]}),n&&s!=null?e.jsxs("div",{className:"mt-2",children:[e.jsx(se,{active:!0,label:`Resolving conflicts with ${r}`,timeConstantSec:60}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 text-xs text-gray-600 dark:text-gray-300",children:[ht(s.phase,r),e.jsx("button",{type:"button",className:Pe,onClick:()=>mt(t.id),children:"Cancel"})]})]}):e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[e.jsx(z,{kind:"resolve",children:e.jsx("button",{type:"button",className:is,onClick:()=>Ee(l,{providerName:r}),children:d!=null?"Run again":`Resolve merge conflicts with ${r}`})}),d!=null&&e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:Pe,onClick:()=>gt(l),children:"Open the resolver"}),e.jsxs("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:[J(d)," decided ",d.choices.length," of ",d.decidableTotal," change",d.decidableTotal===1?"":"s","."]})]}),(s==null?void 0:s.phase)==="failed"&&s.error!=null&&e.jsx("span",{className:"text-xs text-red-600 dark:text-red-400",children:s.error}),(s==null?void 0:s.phase)==="cancelled"&&e.jsx("span",{className:"text-xs text-gray-600 dark:text-gray-300",children:"Cancelled."})]})]})}const ee="whitespace-nowrap rounded border border-blue-400 px-2.5 py-1 text-xs text-blue-600 hover:bg-blue-50 disabled:opacity-50 dark:border-blue-600 dark:text-blue-400 dark:hover:bg-blue-900/30";function te(t){return t instanceof Te||t instanceof Error?t.message:"Something went wrong"}const Z="whitespace-nowrap rounded border border-gray-300 px-2.5 py-1 text-xs hover:border-gray-400 disabled:opacity-50 dark:border-gray-700 dark:hover:border-gray-500";function cs({children:t,info:s}){return e.jsxs("div",{className:"flex items-center gap-1 px-4 pb-1 pt-3 text-xs font-semibold uppercase tracking-wide text-gray-400",children:[t,s]})}function Ns({pr:t}){const s=_e().enabled,r=$(d=>d.aiFixTabFocus),n=$(d=>d.consumeAiFixTabFocus),[a,l]=p.useState(null);return p.useEffect(()=>{r&&r.prId===t.id&&(r.reviewId!=null&&l(r.reviewId),n())},[r,t.id,n]),s?e.jsx("div",{className:"pb-6",children:e.jsx(os,{pr:t,handoffReviewId:a})}):e.jsx(e.Fragment,{})}function os({pr:t,handoffReviewId:s}){var de,ce,oe,ue,xe,he,me,ge,pe,be;const{data:r,isLoading:n}=pt(t.id,!0),{data:a,isLoading:l}=bt(t.id),d=(a==null?void 0:a.review)??null,h=qt(s,d,(a==null?void 0:a.history)??[]),j=zt(s,h,d),f=$(F=>F.setPrDetailTab),i=ft("fix",Et),k=Se(i.chosen.provider),g=yt().data,w=jt(t.id),I=kt(t.id),S=Ce(t.id),D=_e(),T=Nt(g,i.chosen.provider,"plan"),[E,A]=p.useState(!1),_=E&&T,P=$(F=>F.noteAiFixRun),R=Re({mutationKey:vt(t.id)})>0,C=((de=r==null?void 0:r.fix)==null?void 0:de.status)??null,v=C==="planned",c=v&&((oe=(ce=r==null?void 0:r.fix)==null?void 0:ce.plan)==null?void 0:oe.status)==="planning",m=C==="running"||C==="queued"||R||c,{status:o}=wt(t.id,m),N=(o==null?void 0:o.status)??C??"idle",y=N==="running"||N==="queued",x=y&&!v,B=v&&(c||y),L=v&&(((xe=(ue=r==null?void 0:r.fix)==null?void 0:ue.plan)==null?void 0:xe.status)==="planning"||((me=(he=r==null?void 0:r.fix)==null?void 0:he.plan)==null?void 0:me.status)==="plan_ready"),u=(r==null?void 0:r.fix)??null,b=Pt(t.id,h,(r==null?void 0:r.enabled)!==!1),Y=Rt(h!=null&&(d==null?void 0:d.id)!==h?h:null),O=h!=null&&(d==null?void 0:d.id)===h?d:Y.data??null,[M,ae]=p.useState({});p.useEffect(()=>ae({}),[h]);const[Ye,K]=p.useState(!1),ne=!L&&(Ye||!u||u.status!=="succeeded"),G=ls(t),[ie,Ke]=p.useState(!1),U=b.data?es(b.data,M):[],le=b.data?Ue(b.data,M).size:0,We=()=>{if(h==null||!b.data||U.length===0)return;const F={model:i.chosen.model,provider:i.chosen.provider,seed:"review",sourceReviewId:h,include:U};_?I.mutate(F,{onSuccess:()=>K(!1)}):(P({prId:t.id,repoFullName:t.repoFullName,prNumber:t.number,prTitle:t.title}),w.mutate(F,{onSuccess:()=>K(!1)})),ie&&G&&Ee(De(t),{model:Ct(i.chosen.model),providerName:D.providerName})};return e.jsxs("div",{children:[e.jsx(cs,{info:e.jsxs(q,{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, so it installs, builds and tests nothing."]}),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.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:[G&&e.jsx(ds,{pr:t}),(r==null?void 0:r.enabled)===!1?e.jsx("p",{className:"text-sm text-gray-500 dark:text-gray-400",children:"The agentic fixer is turned off."}):e.jsxs(e.Fragment,{children:[!x&&!L&&h==null&&!l&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-300",children:(d==null?void 0:d.status)==="running"||(d==null?void 0:d.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:ee,onClick:()=>f(t.id,"claude_review"),children:"Open AI Review"})]}),!x&&!L&&h!=null&&!ne&&e.jsx("button",{type:"button",className:Z,onClick:()=>K(!0),children:"New fix"}),!x&&h!=null&&ne&&e.jsxs("div",{children:[j&&e.jsx("p",{className:"mb-2 text-xs text-gray-500 dark:text-gray-400",children:j}),b.isLoading&&e.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:"Loading…"}),b.isError&&e.jsx("p",{className:"text-xs text-red-600 dark:text-red-400",children:te(b.error)}),b.data&&e.jsx(ns,{preview:b.data,overrides:M,onChange:ae,disabled:R,pr:t,review:O}),b.data&&b.data.items.length>0&&G&&e.jsxs("label",{className:"mt-3 flex cursor-pointer items-start gap-2 text-xs text-gray-800 dark:text-gray-100",children:[e.jsx("input",{type:"checkbox",className:"mt-0.5",checked:ie,disabled:R,onChange:F=>Ke(F.target.checked)}),e.jsxs("span",{children:["Also resolve merge conflicts with ",t.baseRefName??"the base branch",e.jsx("span",{className:"block text-[12px] text-gray-600 dark:text-gray-300",children:"You check the merge in the resolver. It lands as its own commit, apart from the fix."})]})]}),b.data&&b.data.items.length>0&&e.jsxs("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[e.jsx(Ot,{state:i,onPick:i.pick,disabled:R}),T&&e.jsxs("label",{className:"flex cursor-pointer items-center gap-1.5 text-xs text-gray-800 dark:text-gray-100",children:[e.jsx("input",{type:"checkbox",checked:_,disabled:R,onChange:F=>A(F.target.checked)}),"Plan first"]}),e.jsx(z,{kind:"fix",auth:r==null?void 0:r.auth,anyProvider:!0,provider:i.chosen.provider,children:e.jsx("button",{type:"button",className:ee,disabled:R||U.length===0,onClick:We,children:_?"Make a plan":"Start fix"})}),e.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400",children:U.length===0?"Nothing ticked.":`${U.length-le} item${U.length-le===1?"":"s"}`}),(u==null?void 0:u.status)==="succeeded"&&e.jsx("button",{type:"button",className:Z,onClick:()=>K(!1),children:"Close"})]})]}),x&&e.jsx("button",{type:"button",className:Z,onClick:()=>S.mutate(),children:"Cancel"}),(w.isError||I.isError)&&e.jsx("p",{className:"mt-1 text-[11px] text-red-600 dark:text-red-400",children:te(w.error??I.error)}),u&&v&&e.jsx(Ht,{pr:t,fix:u,liveStatus:o,passRunning:B,auth:r==null?void 0:r.auth}),x&&e.jsxs("div",{className:"mt-3",children:[u&&e.jsx(Le,{fix:u}),e.jsx(se,{active:!0,label:"Running AI fix",value:Fe(o),timeConstantSec:40}),e.jsxs("div",{className:"mt-1 flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400",children:[(u==null?void 0:u.trigger)==="auto"&&e.jsx(Oe,{}),Ie[((ge=o==null?void 0:o.progress)==null?void 0:ge.phase)??""]??"Working…"]}),((pe=o==null?void 0:o.progress)==null?void 0:pe.recentActivity)&&o.progress.recentActivity.length>0&&e.jsx("pre",{className:"mt-1 max-h-32 overflow-auto rounded bg-gray-50 p-2 text-[11px] leading-relaxed text-gray-500 dark:text-gray-400 dark:bg-gray-900",children:o.progress.recentActivity.slice(-8).join(`
|
|
3
3
|
`)})]}),!x&&u&&!v&&e.jsx(xs,{pr:t,fix:u,headInfo:(r==null?void 0:r.headInfo)??null,viewerCanPush:(r==null?void 0:r.viewerCanPush)??!1}),n&&!u&&e.jsx("p",{className:"mt-3 text-xs text-gray-500 dark:text-gray-400",children:"Loading…"})]}),e.jsx(ms,{history:(r==null?void 0:r.history)??[],currentFixId:((be=r==null?void 0:r.fix)==null?void 0:be.id)??null})]})]})}function Oe(){return e.jsx("span",{className:"inline-flex items-center rounded bg-gray-500/10 px-1.5 py-px text-[11px] font-medium text-gray-600 dark:text-gray-300",children:"Auto fix"})}function us(t){return Ae(t.provider,t.model,t.effort)}function xs({pr:t,fix:s,headInfo:r,viewerCanPush:n}){var d,h;const a=p.useMemo(()=>At(s.patch),[s.patch]);if(s.status==="failed"&&((d=s.plan)==null?void 0:d.status)==="failed")return e.jsxs("div",{className:"mt-3 rounded border border-red-200 bg-red-50 p-2 text-xs text-red-700 dark:border-red-800 dark:bg-red-950/30 dark:text-red-300",children:[J(s.plan??s)," could not make a plan: ",s.error??"unknown error"]});if(s.status==="cancelled"&&((h=s.plan)==null?void 0:h.status)==="discarded")return e.jsx("p",{className:"mt-3 text-xs text-gray-500 dark:text-gray-400",children:"The plan was discarded."});if(s.status==="failed")return e.jsxs("div",{className:"mt-3 rounded border border-red-200 bg-red-50 p-2 text-xs text-red-700 dark:border-red-800 dark:bg-red-950/30 dark:text-red-300",children:["The fix run failed: ",s.error??"unknown error"]});if(s.status==="cancelled")return e.jsx("p",{className:"mt-3 text-xs text-gray-500 dark:text-gray-400",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-gray-200 pt-3 dark:border-gray-800",children:[e.jsxs("p",{className:"mb-1 text-xs text-gray-500 dark:text-gray-400",children:[s.trigger==="auto"&&e.jsxs(e.Fragment,{children:[e.jsx(Oe,{})," "]}),Gt(s)," · ",us(s),s.finishedAt&&e.jsxs(e.Fragment,{children:[" · ",re(s.finishedAt)]})]}),s.pushedAt==null&&s.error&&e.jsx("p",{className:"mb-2 rounded border border-amber-200 bg-amber-50 p-2 text-xs text-amber-800 dark:border-amber-800 dark:bg-amber-950/30 dark:text-amber-200",children:s.error}),e.jsx(Le,{fix:s}),s.summary&&e.jsx("div",{className:"prose prose-sm max-w-none dark:prose-invert",children:e.jsx(Ft,{children:s.summary})}),e.jsx(Xt,{pr:t,fix:s}),l?e.jsx("p",{className:"mt-2 text-xs text-gray-500 dark:text-gray-400",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-xs text-gray-500 dark:text-gray-400",children:[e.jsxs("span",{children:[s.filesChanged.length," file",s.filesChanged.length===1?"":"s"," changed · Not built or tested here."]}),e.jsx(It,{})]}),e.jsx("div",{className:"overflow-hidden rounded border border-gray-200 text-gray-800 dark:border-gray-800 dark:text-gray-200",children:e.jsx(St,{files:a})}),e.jsx(gs,{pr:t,fix:s,headInfo:r,viewerCanPush:n})]})]})}function hs({fix:t}){return e.jsxs("div",{className:"mb-2 rounded border border-green-200 bg-green-50 p-2 text-xs text-green-700 dark:border-green-800 dark:bg-green-950/30 dark:text-green-300",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:Me(t.pushedPrUrl),target:"_blank",rel:"noreferrer",className:"underline",children:["PR #",t.pushedPrNumber]})]}),t.pushedAt&&e.jsxs(e.Fragment,{children:[" · ",re(t.pushedAt)]})]}),t.commitMessage&&e.jsx("div",{className:"mt-1 font-mono text-[11px] text-green-800 dark:text-green-300",children:t.commitMessage})]})}function ms({history:t,currentFixId:s}){const r=t.filter(n=>n.pushedAt!=null&&n.id!==s);return r.length===0?null:e.jsxs("div",{className:"mt-4 border-t border-gray-200 pt-3 dark:border-gray-800",children:[e.jsx("div",{className:"mb-1.5 text-xs font-semibold uppercase tracking-wide text-gray-400",children:"Earlier fixes pushed"}),e.jsx("ul",{className:"space-y-2",children:r.map(n=>e.jsxs("li",{className:"text-xs",children:[e.jsx("div",{className:"font-mono text-gray-700 dark:text-gray-200",children:n.commitMessage??"(no commit message)"}),e.jsxs("div",{className:"mt-0.5 text-[11px] text-gray-400",children:[n.pushedBranch&&e.jsx("span",{className:"font-mono",children:n.pushedBranch}),n.pushedPrUrl&&e.jsxs(e.Fragment,{children:[" · ",e.jsxs("a",{href:Me(n.pushedPrUrl),target:"_blank",rel:"noreferrer",className:"underline",children:["PR #",n.pushedPrNumber]})]}),n.pushedAt&&e.jsxs(e.Fragment,{children:[" · ",re(n.pushedAt)]})]})]},n.id))})]})}function gs({pr:t,fix:s,headInfo:r,viewerCanPush:n}){const a=Tt(t.id),l=(r==null?void 0:r.canPushSameBranch)??!1,[d,h]=p.useState(l?"existing":"new"),[j,f]=p.useState((r==null?void 0:r.suggestedBranch)??""),i=p.useRef(!1);if(p.useEffect(()=>{!i.current&&(r!=null&&r.suggestedBranch)&&(f(r.suggestedBranch),i.current=!0,r.canPushSameBranch||h("new"))},[r]),s.pushedAt!=null)return e.jsx(hs,{fix:s});if(!n)return e.jsx("p",{className:"mt-2 text-xs text-gray-500 dark:text-gray-400",children:"You need write access to push this fix."});const k=d==="new"&&j.trim().length===0,g=a.isPending,w=()=>{a.mutate({fixId:s.id,body:{target:d,branch:d==="new"?j.trim():void 0}})};return e.jsxs("div",{className:"mt-3 rounded border border-gray-200 p-2 dark:border-gray-800",children:[s.commitMessage&&e.jsx("div",{className:"mb-2 rounded bg-gray-50 px-2 py-1 font-mono text-xs text-gray-700 dark:bg-gray-900 dark:text-gray-200",title:"Commit message",children:s.commitMessage}),e.jsxs("label",{className:`flex items-center gap-2 text-xs ${l?"":"opacity-40"}`,title:l?void 0:"The PR head is a fork you cannot push to — use a new branch",children:[e.jsx("input",{type:"radio",checked:d==="existing",disabled:!l||g,onChange:()=>h("existing")}),"Push to the PR branch",(r==null?void 0:r.headRef)&&e.jsxs("span",{className:"font-mono text-gray-400",children:["(",r.headRef,")"]})]}),e.jsxs("label",{className:"mt-1 flex items-center gap-2 text-xs",children:[e.jsx("input",{type:"radio",checked:d==="new",disabled:g,onChange:()=>h("new")}),"New branch + open a PR"]}),d==="new"&&e.jsx("input",{type:"text",className:"mt-1 w-full rounded border border-gray-300 bg-transparent px-2 py-1 font-mono text-xs dark:border-gray-700",value:j,disabled:g,onChange:I=>f(I.target.value),placeholder:"branch-name"}),e.jsx("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:e.jsx("button",{type:"button",className:ee,disabled:g||k,onClick:w,children:g?"Pushing…":d==="new"?"Push + open PR":"Push"})}),a.isError&&e.jsx("div",{className:"mt-2 text-[11px] text-red-500",children:te(a.error)})]})}export{Ns as AiFixTab};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e,r as g,d as St,k as Ts}from"./tanstack-BnbsafB1.js";import{bv as Jt,aL as Qe,aG as Xe,aH as Je,T as Zt,aA as es,c as Ce,aC as Oe,ay as De,bB as ts,c0 as nt,bo as Ls,bR as Fs,bQ as Ms,aa as J,p as be,M as ae,a0 as ce,bb as Bs,bE as re,aE as ss,aX as Hs,aW as Os,m as Ds,aj as Pt,l as Us,bP as Gs,ak as Ws,B as Vs,I as Ie,a4 as K,_ as te,bS as zs,w as qs,cB as Ks,h as Ys,g as ns,e as le,W as Qs,cf as Xs,bO as Js,bN as Zs,a2 as rt,bY as ue,c6 as rs,cG as en,c8 as tn,c9 as sn,c7 as nn,aU as _e,aV as rn,aR as an,a6 as at,aS as ln,j as on,aT as dn,a3 as X,O as de,aQ as cn,ab as Ue,f as as,C as un,n as Re,at as lt,cx as xn,cA as hn,ct as mn,ae as it,cy as pn,cn as gn,X as bn,bt as Y,bu as Ge,u as yn,bH as fn,ao as Et,bn as kn,cO as ot,cK as jn,cM as vn,cN as Nn,cL as wn,bT as Cn,a_ as Rn,bd as ls,bM as is,N as $n,am as In,al as Sn,y as Pn,bs as En,ah as os,bV as _n,an as An,ap as Tn,cJ as ds,t as Ln,bq as cs,bU as Fn,bL as Mn,aP as Bn,bW as Hn,cT as On,s as Dn,bc as Un,cq as Gn,ai as Wn,x as Vn,Q as zn,S as qn,G as Kn,Z as Yn,a$ as Qn,bJ as Xn,bg as Jn,ca as Zn,cD as er,cl as tr,cd as sr,c4 as nr,cR as rr,cQ as ar,cu as lr,cs as ir,b2 as or,ce as dr,cF as us,cb as cr,aB as xs,d as ur,aF as _t,ba as xr,bl as hr,i as $e,a5 as hs,au as mr,aI as At,P as ms,b7 as pr,cW as gr,bf as br,bp as yr,bG as fr,bx as kr,aD as jr,b6 as vr,bF as Nr,c5 as wr,bj as Cr,bA as Rr,J as $r,r as Ir,o as Sr,bK as Pr,H as Er,q as _r,a7 as Ar,b1 as Tr,a1 as Ze,ad as Lr,k as Fr,b3 as Mr,$ as Tt,b as qe,br as Lt,bw as Br,aJ as Ft,F as Hr,af as Or,bz as Dr,cc as Ur,bC as Gr,a9 as Wr,bD as Vr,cv as zr,ac as qr,Y as Kr,bX as Yr,cC as Qr,cS as Xr,cE as Jr,aK as Zr,cV as ea,bk as ta,ar as sa,aq as na,as as ra,cm as aa,b9 as Mt,b8 as la,be as ia,cX as ps,aN as oa,cj as da,V as ca,z as ua}from"./index-
|
|
1
|
+
import{j as e,r as g,d as St,k as Ts}from"./tanstack-BnbsafB1.js";import{bv as Jt,aL as Qe,aG as Xe,aH as Je,T as Zt,aA as es,c as Ce,aC as Oe,ay as De,bB as ts,c0 as nt,bo as Ls,bR as Fs,bQ as Ms,aa as J,p as be,M as ae,a0 as ce,bb as Bs,bE as re,aE as ss,aX as Hs,aW as Os,m as Ds,aj as Pt,l as Us,bP as Gs,ak as Ws,B as Vs,I as Ie,a4 as K,_ as te,bS as zs,w as qs,cB as Ks,h as Ys,g as ns,e as le,W as Qs,cf as Xs,bO as Js,bN as Zs,a2 as rt,bY as ue,c6 as rs,cG as en,c8 as tn,c9 as sn,c7 as nn,aU as _e,aV as rn,aR as an,a6 as at,aS as ln,j as on,aT as dn,a3 as X,O as de,aQ as cn,ab as Ue,f as as,C as un,n as Re,at as lt,cx as xn,cA as hn,ct as mn,ae as it,cy as pn,cn as gn,X as bn,bt as Y,bu as Ge,u as yn,bH as fn,ao as Et,bn as kn,cO as ot,cK as jn,cM as vn,cN as Nn,cL as wn,bT as Cn,a_ as Rn,bd as ls,bM as is,N as $n,am as In,al as Sn,y as Pn,bs as En,ah as os,bV as _n,an as An,ap as Tn,cJ as ds,t as Ln,bq as cs,bU as Fn,bL as Mn,aP as Bn,bW as Hn,cT as On,s as Dn,bc as Un,cq as Gn,ai as Wn,x as Vn,Q as zn,S as qn,G as Kn,Z as Yn,a$ as Qn,bJ as Xn,bg as Jn,ca as Zn,cD as er,cl as tr,cd as sr,c4 as nr,cR as rr,cQ as ar,cu as lr,cs as ir,b2 as or,ce as dr,cF as us,cb as cr,aB as xs,d as ur,aF as _t,ba as xr,bl as hr,i as $e,a5 as hs,au as mr,aI as At,P as ms,b7 as pr,cW as gr,bf as br,bp as yr,bG as fr,bx as kr,aD as jr,b6 as vr,bF as Nr,c5 as wr,bj as Cr,bA as Rr,J as $r,r as Ir,o as Sr,bK as Pr,H as Er,q as _r,a7 as Ar,b1 as Tr,a1 as Ze,ad as Lr,k as Fr,b3 as Mr,$ as Tt,b as qe,br as Lt,bw as Br,aJ as Ft,F as Hr,af as Or,bz as Dr,cc as Ur,bC as Gr,a9 as Wr,bD as Vr,cv as zr,ac as qr,Y as Kr,bX as Yr,cC as Qr,cS as Xr,cE as Jr,aK as Zr,cV as ea,bk as ta,ar as sa,aq as na,as as ra,cm as aa,b9 as Mt,b8 as la,be as ia,cX as ps,aN as oa,cj as da,V as ca,z as ua}from"./index-DbYNXOny.js";const xa="https://sonarcloud.io",ha={blocker:"Blocker",critical:"Critical",major:"Major",minor:"Minor",info:"Info"},ma={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 dt(t){return ma[t]??t.replace(/^new_/,"").replace(/_/g," ").replace(/^./,s=>s.toUpperCase())}const gs=t=>/_rating$/.test(t),pa=t=>/(coverage|density|hotspots_reviewed)$/.test(t);function et(t,s){const n=Number(s);return Number.isFinite(n)?gs(t)?"ABCDE"[Math.round(n)-1]??s:pa(t)?`${Math.round(n*10)/10}%`:String(n):s}function ga(t){const s=dt(t.metric),n=t.actual!=null?et(t.metric,t.actual):null,a=t.threshold!=null?et(t.metric,t.threshold):null,o=n!=null?`${s} is ${n}.`:`${s} fails.`;if(a==null)return o;const l=gs(t.metric)?`${a} or better`:t.comparator==="LT"?`at least ${a}`:t.comparator==="GT"?`at most ${a}`:a;return`${o} The quality gate needs ${l}.`}function ba(t){return((t==null?void 0:t.conditions)??[]).filter(s=>s.status==="ERROR"||s.status==="WARN")}const bs=t=>/coverage|uncovered_lines|lines_to_cover/.test(t),ya=t=>/duplicat/.test(t);function fa(t){return bs(t)||ya(t)}function ka(t,s){return ba(t).filter(n=>fa(n.metric)).map(n=>{const a=bs(n.metric),o=n.files??[],l=o.length>0?`
|
|
2
2
|
|
|
3
3
|
Files with the most ${a?"uncovered":"duplicated"} new lines:
|
|
4
4
|
${o.map(r=>`- ${r.path}: ${r.lines} ${r.lines===1?"line":"lines"}`).join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as v,j as s}from"./tanstack-BnbsafB1.js";import{cw as g,cC as w,c2 as j,M as k,aM as N,cU as b,bv as y,at as f,a8 as C,v as T,b0 as p,b5 as $}from"./index-
|
|
1
|
+
import{r as v,j as s}from"./tanstack-BnbsafB1.js";import{cw as g,cC as w,c2 as j,M as k,aM as N,cU as b,bv as y,at as f,a8 as C,v as T,b0 as p,b5 as $}from"./index-DbYNXOny.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 r of e){const o=y(r.at),a=t[t.length-1];if(a&&a.label===o){a.to=r.at,a.count+=1,r.kind==="review"?a.reviews+=1:a.comments+=1;continue}t.push({from:r.at,to:r.at,label:o,count:1,reviews:r.kind==="review"?1:0,comments:r.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 u({label:e,value:t,tone:r}){return s.jsxs("div",{children:[s.jsx("div",{className:"text-[11px] font-semibold text-gray-500 dark:text-gray-400",children:e}),s.jsx("div",{className:`text-sm font-semibold ${r==="warn"?"text-red-600 dark:text-red-400":"text-gray-800 dark:text-gray-100"}`,children:t})]})}function R({bot:e,color:t}){const r=N(e.kind),o=e.ttfrAnomaly,a=e.typicalTtfrHours==null,c=e.typicalFollowups!=null&&e.followupCount>=e.typicalFollowups+2,d=B(e.touches),i=d.slice(0,P),l=e.touches.length-i.reduce((n,x)=>n+x.count,0),m=a?"building baseline":o?`slower than typical — usually ${h(e.typicalTtfrHours)}`:`within typical (${h(e.typicalTtfrHours)})`;return s.jsxs("div",{className:"space-y-2 rounded-lg border border-gray-200 p-3 dark:border-gray-800",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-sm font-semibold text-gray-800 dark:text-gray-100",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 px-1.5 py-0.5 text-[11px] font-medium",style:{...b(r.color),background:`${r.color}1a`},children:r.label}),e.firstTouchAt&&s.jsxs("span",{className:"text-[11px] text-gray-500 dark:text-gray-400",children:["first touch ",y(e.firstTouchAt)]}),o&&s.jsxs("span",{className:"rounded bg-red-500/10 px-1.5 py-0.5 text-[11px] font-semibold text-red-600 dark:text-red-400",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(u,{label:"Time to first review",value:h(e.ttfrHours),tone:o?"warn":"default"}),s.jsx(u,{label:"Follow-ups",value:String(e.followupCount),tone:c?"warn":"default"}),s.jsx(u,{label:"Comments",value:String(e.commentCount)}),s.jsx(u,{label:"Touches",value:String(e.touchCount)})]}),s.jsxs("div",{className:"text-[11px] text-gray-500 dark:text-gray-400",children:[s.jsxs("span",{className:o?"font-medium text-red-600 dark:text-red-400":"",children:[!a&&o&&s.jsx(f,{size:11,className:"mr-1 inline-block align-[-0.1em]"}),m]}),e.ttfrBasis&&!a&&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)":""]}),!a&&s.jsxs("span",{children:[" · baseline: ",e.baselinePrs," PRs"]})]}),d.length>0&&s.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[i.map((n,x)=>s.jsxs("span",{className:"inline-flex items-center gap-1 rounded bg-gray-500/10 px-1.5 py-0.5 text-[11px] text-gray-600 dark:text-gray-300",title:`${n.count>1?`${I(n)} · `:""}${n.from===n.to?p(n.from):`${p(n.from)} – ${p(n.to)}`}`,children:[n.reviews>0&&s.jsx(C,{size:11}),n.comments>0&&s.jsx(T,{size:11}),n.count>1&&s.jsxs("span",{className:"font-medium",children:["×",n.count]}),n.label]},x)),l>0&&s.jsxs("span",{className:"text-[11px] text-gray-500 dark:text-gray-400",children:["+",l," more touches"]})]})]})}function M({pr:e}){const{data:t,isLoading:r,isError:o}=g(e.id,!0),{data:a}=w(),c=v.useMemo(()=>{var l;return((l=(a??[]).find(m=>m.id===e.repoId))==null?void 0:l.workspaceId)??null},[a,e.repoId]),d=j(c),i=(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(k,{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-[12px] text-gray-500 dark:text-gray-400",children:"Each bot against its own usual"})]}),r?s.jsx("div",{className:"h-24 animate-pulse rounded-lg border border-gray-200 bg-gray-50 dark:border-gray-800 dark:bg-gray-900/40"}):o?s.jsx("div",{className:"text-sm text-red-500",children:"Couldn’t load bot behaviour for this PR."}):i.length===0?s.jsx("div",{className:"rounded-lg border border-dashed border-gray-300 p-6 text-center text-sm text-gray-500 dark:border-gray-700 dark:text-gray-400",children:"No automated-reviewer activity on this PR."}):i.map(l=>s.jsx(R,{bot:l,color:d({login:l.login,kind:l.kind})},l.key))]})}export{M 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}.-left-1{left:-.25rem}.-right-0\.5{right:-.125rem}.-right-1\.5{right:-.375rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-\[3px\]{top:-3px}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-2{left:.5rem}.right-0{right:0}.right-0\.5{right:.125rem}.right-2{right:.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-6{top:1.5rem}.top-\[15px\]{top:15px}.top-\[var\(--diff-sticky-top\,0px\)\]{top:var(--diff-sticky-top,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-\[60\]{z-index:60}.z-\[70\]{z-index:70}.z-\[80\]{z-index:80}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-px{margin-left:-1px;margin-right:-1px}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.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-px{margin-bottom:-1px}.-ml-1{margin-left:-.25rem}.-mr-1{margin-right:-.25rem}.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}.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-auto{margin-left:auto}.ml-px{margin-left:1px}.mr-0\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.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-auto{margin-top:auto}.mt-px{margin-top:1px}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.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}.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-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-\[1\.375em\]{height:1.375em}.h-\[120px\]{height:120px}.h-\[132px\]{height:132px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[3px\]{height:3px}.h-\[46px\]{height:46px}.h-\[85vh\]{height:85vh}.h-full{height:100%}.h-px{height:1px}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-44{max-height:11rem}.max-h-48{max-height:12rem}.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-\[calc\(100vh-4rem\)\]{max-height:calc(100vh - 4rem)}.min-h-0{min-height:0px}.min-h-\[1\.75rem\]{min-height:1.75rem}.min-h-\[18px\]{min-height:18px}.min-h-\[2\.75em\]{min-height:2.75em}.min-h-\[26px\]{min-height:26px}.min-h-\[28rem\]{min-height:28rem}.min-h-\[32rem\]{min-height:32rem}.min-h-\[42px\]{min-height:42px}.min-h-screen{min-height:100vh}.\!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-2\/5{width:40%}.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-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-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[18px\]{width:18px}.w-\[22rem\]{width:22rem}.w-\[24rem\]{width:24rem}.w-\[26rem\]{width:26rem}.w-\[28rem\]{width:28rem}.w-\[34rem\]{width:34rem}.w-\[36rem\]{width:36rem}.w-\[44rem\]{width:44rem}.w-\[46rem\]{width:46rem}.w-\[60rem\]{width:60rem}.w-\[min\(var\(--tray-w\)\,92vw\)\]{width:min(var(--tray-w),92vw)}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-28{min-width:7rem}.min-w-4{min-width:1rem}.min-w-\[1\.35rem\]{min-width:1.35rem}.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-\[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-\[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-\[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-\[280px\]{max-width:280px}.max-w-\[46rem\]{max-width:46rem}.max-w-\[60\%\]{max-width:60%}.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-\[95vw\]{max-width:95vw}.max-w-\[96vw\]{max-width:96vw}.max-w-\[9rem\]{max-width:9rem}.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\(28rem\,92vw\)\]{max-width:min(28rem,92vw)}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-prose{max-width:65ch}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-40{flex-basis:10rem}.basis-\[16rem\]{flex-basis:16rem}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-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}.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}.scroll-mt-4{scroll-margin-top:1rem}.scroll-mt-\[var\(--diff-sticky-top\,0px\)\]{scroll-margin-top:var(--diff-sticky-top,0px)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.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-\[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)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.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-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-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-1\.5{-moz-column-gap:.375rem;column-gap:.375rem}.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-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-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity, 1))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.divide-gray-200\/70>:not([hidden])~:not([hidden]){border-color:#e5e7ebb3}.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}.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-\[1px\]{border-radius:1px}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.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-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-l-\[3px\]{border-left-width:3px}.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-\[rgb\(var\(--mr-conflict\)\)\]{border-color:rgb(var(--mr-conflict))}.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\/60{border-color:rgb(var(--ai-signal-fill) / .6)}.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-ai-signal\/60{border-color:rgb(var(--ai-signal) / .6)}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.border-amber-300\/50{border-color:#fcd34d80}.border-amber-300\/60{border-color:#fcd34d99}.border-amber-400{--tw-border-opacity: 1;border-color:rgb(251 191 36 / var(--tw-border-opacity, 1))}.border-amber-400\/50{border-color:#fbbf2480}.border-amber-500{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/40{border-color:#f59e0b66}.border-amber-500\/60{border-color:#f59e0b99}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-400{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-cyan-300{--tw-border-opacity: 1;border-color:rgb(103 232 249 / var(--tw-border-opacity, 1))}.border-cyan-400{--tw-border-opacity: 1;border-color:rgb(34 211 238 / var(--tw-border-opacity, 1))}.border-emerald-500\/40{border-color:#10b98166}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-gray-900{--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-green-500\/30{border-color:#22c55e4d}.border-green-500\/40{border-color:#22c55e66}.border-green-600{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.border-indigo-400{--tw-border-opacity: 1;border-color:rgb(129 140 248 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-red-500\/30{border-color:#ef44444d}.border-rose-300{--tw-border-opacity: 1;border-color:rgb(253 164 175 / var(--tw-border-opacity, 1))}.border-sky-200{--tw-border-opacity: 1;border-color:rgb(186 230 253 / var(--tw-border-opacity, 1))}.border-sky-300{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity, 1))}.border-sky-400{--tw-border-opacity: 1;border-color:rgb(56 189 248 / var(--tw-border-opacity, 1))}.border-sky-500{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity, 1))}.border-sky-600{--tw-border-opacity: 1;border-color:rgb(2 132 199 / var(--tw-border-opacity, 1))}.border-teal-400{--tw-border-opacity: 1;border-color:rgb(45 212 191 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-violet-300{--tw-border-opacity: 1;border-color:rgb(196 181 253 / var(--tw-border-opacity, 1))}.border-violet-400{--tw-border-opacity: 1;border-color:rgb(167 139 250 / var(--tw-border-opacity, 1))}.border-violet-500{--tw-border-opacity: 1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}.border-yellow-300{--tw-border-opacity: 1;border-color:rgb(253 224 71 / var(--tw-border-opacity, 1))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(250 204 21 / 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-ai-border{--tw-border-opacity: 1;border-left-color:rgb(var(--ai-border) / var(--tw-border-opacity, 1))}.border-l-amber-400{--tw-border-opacity: 1;border-left-color:rgb(251 191 36 / var(--tw-border-opacity, 1))}.border-l-gray-400{--tw-border-opacity: 1;border-left-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-l-green-500{--tw-border-opacity: 1;border-left-color:rgb(34 197 94 / 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-red-500{--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-l-sky-400{--tw-border-opacity: 1;border-left-color:rgb(56 189 248 / var(--tw-border-opacity, 1))}.border-t-blue-500{--tw-border-opacity: 1;border-top-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#8957e5\]\/15{background-color:#8957e526}.bg-\[rgb\(var\(--mr-conflict\)\)\]{background-color:rgb(var(--mr-conflict))}.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-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-100\/70{background-color:#fef3c7b3}.bg-amber-300\/40{background-color:#fcd34d66}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-400\/10{background-color:#fbbf241a}.bg-amber-400\/30{background-color:#fbbf244d}.bg-amber-400\/5{background-color:#fbbf240d}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-50\/50{background-color:#fffbeb80}.bg-amber-50\/60{background-color:#fffbeb99}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-50\/50{background-color:#eff6ff80}.bg-blue-50\/60{background-color:#eff6ff99}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-cyan-100{--tw-bg-opacity: 1;background-color:rgb(207 250 254 / var(--tw-bg-opacity, 1))}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/25{background-color:#10b98140}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-50\/60{background-color:#f9fafb99}.bg-gray-50\/70{background-color:#f9fafbb3}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-500\/10{background-color:#6b72801a}.bg-gray-500\/15{background-color:#6b728026}.bg-gray-500\/5{background-color:#6b72800d}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-gray-950{--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/15{background-color:#22c55e26}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-orange-500\/10{background-color:#f973161a}.bg-orange-500\/15{background-color:#f9731626}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-rose-500{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity, 1))}.bg-rose-500\/15{background-color:#f43f5e26}.bg-sky-100{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity, 1))}.bg-sky-400\/70{background-color:#38bdf8b3}.bg-sky-50{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity, 1))}.bg-sky-50\/40{background-color:#f0f9ff66}.bg-sky-50\/60{background-color:#f0f9ff99}.bg-sky-500{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity, 1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-sky-500\/15{background-color:#0ea5e926}.bg-sky-500\/20{background-color:#0ea5e933}.bg-sky-500\/5{background-color:#0ea5e90d}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity, 1))}.bg-teal-50{--tw-bg-opacity: 1;background-color:rgb(240 253 250 / var(--tw-bg-opacity, 1))}.bg-teal-600{--tw-bg-opacity: 1;background-color:rgb(13 148 136 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-violet-50\/60{background-color:#f5f3ff99}.bg-violet-500{--tw-bg-opacity: 1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.bg-violet-500\/15{background-color:#8b5cf626}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/60{background-color:#fff9}.bg-white\/70{background-color:#ffffffb3}.bg-white\/95{background-color:#fffffff2}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(254 240 138 / var(--tw-bg-opacity, 1))}.bg-yellow-400\/20{background-color:#facc1533}.bg-yellow-50\/40{background-color:#fefce866}.bg-yellow-500\/10{background-color:#eab3081a}.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-500{fill:#f59e0b}.fill-emerald-500{fill:#10b981}.fill-emerald-500\/15{fill:#10b98126}.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-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-4{padding:1rem}.p-6{padding:1.5rem}.p-px{padding:1px}.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-\[7px\]{padding-left:7px;padding-right:7px}.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-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.py-\[5px\]{padding-top:5px;padding-bottom:5px}.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-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.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}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-28{padding-right:7rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.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}.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-\[-2px\]{vertical-align:-2px}.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-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.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-\[16px\]{line-height:16px}.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}.tracking-wide{letter-spacing:.025em}.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-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-600\/80{color:#d97706cc}.text-amber-600\/90{color:#d97706e6}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-700\/80{color:#b45309cc}.text-amber-700\/90{color:#b45309e6}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-400\/10{color:#9ca3af1a}.text-gray-400\/80{color:#9ca3afcc}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-700\/70{color:#15803db3}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-sky-800{--tw-text-opacity: 1;color:rgb(7 89 133 / var(--tw-text-opacity, 1))}.text-teal-600{--tw-text-opacity: 1;color:rgb(13 148 136 / var(--tw-text-opacity, 1))}.text-teal-700{--tw-text-opacity: 1;color:rgb(15 118 110 / var(--tw-text-opacity, 1))}.text-violet-500{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity, 1))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-violet-700{--tw-text-opacity: 1;color:rgb(109 40 217 / var(--tw-text-opacity, 1))}.text-violet-700\/70{color:#6d28d9b3}.text-violet-700\/90{color:#6d28d9e6}.text-violet-900{--tw-text-opacity: 1;color:rgb(76 29 149 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-sky-700\/40{text-decoration-color:#0369a166}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.accent-ai-signal{accent-color:rgb(var(--ai-signal) / 1)}.accent-green-600{accent-color:#16a34a}.accent-sky-500{accent-color:#0ea5e9}.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-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-md{--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)}.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)}.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-amber-400\/70{--tw-ring-color: rgb(251 191 36 / .7)}.ring-black\/10{--tw-ring-color: rgb(0 0 0 / .1)}.ring-black\/15{--tw-ring-color: rgb(0 0 0 / .15)}.ring-gray-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity, 1))}.ring-sky-400\/60{--tw-ring-color: rgb(56 189 248 / .6)}.ring-sky-400\/70{--tw-ring-color: rgb(56 189 248 / .7)}.ring-sky-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1))}.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\: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: 181 54 33;--ai-signal-fill: 226 73 44}.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: 242 107 78;--ai-signal-fill: 242 107 78}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(3 7 18 / 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:10px;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:13px;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{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(3 7 18 / 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:#1f2937}.dark .vis-panel .vis-content,.dark .vis-panel .vis-background,.dark .vis-labelset .vis-label,.dark .vis-foreground .vis-group{border-color:#1f2937;color:#e5e7eb}.dark .vis-time-axis .vis-text{color:#9ca3af}.dark .vis-time-axis .vis-grid.vis-minor{border-color:#1f2937}.dark .vis-time-axis .vis-grid.vis-major{border-color:#374151}.dark .vis-labelset .vis-label{color:#d1d5db}.dark .vis-current-time{background-color:#ef4444}.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) / .1)}.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) / .13)}.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:#f3f4f6;background-color:#030712;border-bottom-color:#1f2937}.tl-repo-sticky[class*=tl-repo-tint-]{background-image:linear-gradient(rgb(var(--tl-tint) / .1),rgb(var(--tl-tint) / .1))}.dark .tl-repo-sticky[class*=tl-repo-tint-]{background-image:linear-gradient(rgb(var(--tl-tint) / .13),rgb(var(--tl-tint) / .13))}.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 #ffffff8c}.vis-item.pr-bar.pr-open{background-color:#1d4ed8;border-color:#3b82f6}.vis-item.pr-bar.pr-merged{background-color:#15803d;border-color:#22c55e}.vis-item.pr-bar.pr-closed{background-color:#4b5563;border-color:#9ca3af}.vis-item.pr-bar.pr-stalled{background-color:#c2410c;border-color:#f97316}.vis-item.pr-bar.pr-changes-requested{border-color:#ef4444;border-width:2px}.vis-item.pr-bar.pr-approved{border-color:#22c55e;border-width:2px}.vis-item.pr-bar.pr-commented{border-color:#9ca3af;border-width:2px}.vis-item.pr-draft{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 4px,transparent 4px,transparent 8px)}.vis-item.vis-selected.pr-bar{overflow:visible;z-index:5;box-shadow:0 0 0 3px #38bdf8e6}.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 3px #38bdf8e6}.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:700;opacity:.85}.pr-avatar{border-radius:9999px;flex-shrink:0;vertical-align:middle}.pr-author{font-size:10px;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:9px;text-transform:uppercase;background:#00000040;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:10px;color:#9ca3af}.pr-tt-section{margin-top:5px;font-size:9px;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:10px;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 rgba(99,102,241,.38);background:#6366f10f;pointer-events:none}.dark .vis-item.vis-background.cross-sep{border-top-color:#818cf86b;background:#818cf817}.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:#6366f11a}.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 #6366f16b}.vis-item.ev-cross:not(.ev-selected):not(.ev-cross-linked):not(.ev-exit-glow) .ev-cluster-inner{box-shadow:0 0 0 2px #6366f140}.dark .vis-item.ev-cross .ev-marker-inner{background:#818cf829}.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 #818cf885}.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 #818cf852}.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 3px #3b82f6e6}.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}@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:10px}[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 #0ea5e9;outline-offset:2px;border-radius:4px}.budget-range::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#6b7280}.budget-range::-moz-range-track{height:4px;border-radius:2px;background:#6b7280}.budget-range::-webkit-slider-thumb{-webkit-appearance:none;box-sizing:border-box;width:14px;height:14px;margin-top:-5px;border-radius:9999px;background:#0284c7;border:2px solid #ffffff}.budget-range::-moz-range-thumb{box-sizing:border-box;width:14px;height:14px;border-radius:9999px;background:#0284c7;border:2px solid #ffffff}.dark .budget-range::-webkit-slider-thumb{border-color:#111827}.dark .budget-range::-moz-range-thumb{border-color:#111827}.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}.first-letter\:uppercase:first-letter{text-transform:uppercase}.placeholder\:text-gray-500::-moz-placeholder{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.placeholder\:text-gray-500::placeholder{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.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}.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}.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-blue-500:focus-within{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus-within\:border-sky-300:focus-within{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity, 1))}.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-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.hover\:border-gray-500:hover{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.hover\:border-gray-700:hover{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.hover\:border-red-400:hover{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.hover\:border-sky-300:hover{--tw-border-opacity: 1;border-color:rgb(125 211 252 / var(--tw-border-opacity, 1))}.hover\:border-sky-400:hover{--tw-border-opacity: 1;border-color:rgb(56 189 248 / var(--tw-border-opacity, 1))}.hover\:border-sky-500:hover{--tw-border-opacity: 1;border-color:rgb(14 165 233 / 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-amber-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-100\/70:hover{background-color:#fef3c7b3}.hover\:bg-amber-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-200\/60:hover{background-color:#bfdbfe99}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / 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-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200\/60:hover{background-color:#e5e7eb99}.hover\:bg-gray-200\/70:hover{background-color:#e5e7ebb3}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50\/60:hover{background-color:#f9fafb99}.hover\:bg-gray-50\/70:hover{background-color:#f9fafbb3}.hover\:bg-gray-500\/20:hover{background-color:#6b728033}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-green-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-100:hover{--tw-bg-opacity: 1;background-color:rgb(224 242 254 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 249 255 / var(--tw-bg-opacity, 1))}.hover\:bg-sky-500\/15:hover{background-color:#0ea5e926}.hover\:bg-sky-500\/20:hover{background-color:#0ea5e933}.hover\:bg-sky-500\/25:hover{background-color:#0ea5e940}.hover\:bg-sky-500\/30:hover{background-color:#0ea5e94d}.hover\:bg-sky-700:hover{--tw-bg-opacity: 1;background-color:rgb(3 105 161 / var(--tw-bg-opacity, 1))}.hover\:bg-violet-100:hover{--tw-bg-opacity: 1;background-color:rgb(237 233 254 / var(--tw-bg-opacity, 1))}.hover\:bg-violet-50:hover{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.hover\:text-amber-600:hover{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.hover\:text-amber-700:hover{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-sky-600:hover{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.hover\:text-sky-700:hover{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.hover\:text-sky-900:hover{--tw-text-opacity: 1;color:rgb(12 74 110 / 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-sky-700:hover{text-decoration-color:#0369a1}.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-gray-300:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1))}.hover\:ring-gray-400:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity, 1))}.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)}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-sky-400:focus{--tw-border-opacity: 1;border-color:rgb(56 189 248 / var(--tw-border-opacity, 1))}.focus\:bg-gray-100:focus{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:bg-blue-500:focus-visible{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-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-sky-500\/40:focus-visible{background-color:#0ea5e966}.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\: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-blue-500:focus-visible{outline-color:#3b82f6}.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-amber-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-sky-400:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(56 189 248 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-sky-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-sky-600:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(2 132 199 / var(--tw-ring-opacity, 1))}.active\:cursor-grabbing:active{cursor:grabbing}.enabled\:hover\:bg-gray-100:hover:enabled{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-gray-500:disabled{--tw-text-opacity: 1;color:rgb(107 114 128 / 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}.group\/rt:hover .group-hover\/rt\:text-sky-600,.group\/th:hover .group-hover\/th\:text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group\/bot:hover .group-hover\/bot\:opacity-100,.group\/rt:hover .group-hover\/rt\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.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-\[\: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-sky-500:has(:focus-visible){--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1))}@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\:divide-gray-800:is(.dark *)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(31 41 55 / var(--tw-divide-opacity, 1))}.dark\:divide-gray-800\/70:is(.dark *)>:not([hidden])~:not([hidden]){border-color:#1f2937b3}.dark\:border-amber-400\/50:is(.dark *){border-color:#fbbf2480}.dark\:border-amber-500\/30:is(.dark *){border-color:#f59e0b4d}.dark\:border-amber-500\/60:is(.dark *){border-color:#f59e0b99}.dark\:border-amber-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(217 119 6 / var(--tw-border-opacity, 1))}.dark\:border-amber-600\/70:is(.dark *){border-color:#d97706b3}.dark\:border-amber-700\/50:is(.dark *){border-color:#b4530980}.dark\:border-amber-700\/60:is(.dark *){border-color:#b4530999}.dark\:border-amber-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(146 64 14 / var(--tw-border-opacity, 1))}.dark\:border-amber-800\/60:is(.dark *){border-color:#92400e99}.dark\:border-amber-900\/50:is(.dark *){border-color:#78350f80}.dark\:border-blue-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.dark\:border-blue-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-blue-900\/50:is(.dark *){border-color:#1e3a8a80}.dark\:border-cyan-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(8 145 178 / var(--tw-border-opacity, 1))}.dark\:border-gray-100:is(.dark *){--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.dark\:border-gray-400:is(.dark *){--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.dark\:border-gray-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.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-gray-800\/70:is(.dark *){border-color:#1f2937b3}.dark\:border-gray-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity, 1))}.dark\:border-green-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.dark\:border-green-700\/50:is(.dark *){border-color:#15803d80}.dark\:border-green-700\/60:is(.dark *){border-color:#15803d99}.dark\:border-green-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(22 101 52 / var(--tw-border-opacity, 1))}.dark\:border-green-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(20 83 45 / var(--tw-border-opacity, 1))}.dark\:border-indigo-500\/60:is(.dark *){border-color:#6366f199}.dark\:border-red-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.dark\:border-red-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity, 1))}.dark\:border-red-700\/60:is(.dark *){border-color:#b91c1c99}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-red-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(127 29 29 / var(--tw-border-opacity, 1))}.dark\:border-rose-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(159 18 57 / var(--tw-border-opacity, 1))}.dark\:border-sky-400:is(.dark *){--tw-border-opacity: 1;border-color:rgb(56 189 248 / var(--tw-border-opacity, 1))}.dark\:border-sky-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity, 1))}.dark\:border-sky-500\/50:is(.dark *){border-color:#0ea5e980}.dark\:border-sky-500\/60:is(.dark *){border-color:#0ea5e999}.dark\:border-sky-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(2 132 199 / var(--tw-border-opacity, 1))}.dark\:border-sky-600\/70:is(.dark *){border-color:#0284c7b3}.dark\:border-sky-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(3 105 161 / var(--tw-border-opacity, 1))}.dark\:border-sky-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(7 89 133 / var(--tw-border-opacity, 1))}.dark\:border-sky-900:is(.dark *){--tw-border-opacity: 1;border-color:rgb(12 74 110 / var(--tw-border-opacity, 1))}.dark\:border-teal-500\/60:is(.dark *){border-color:#14b8a699}.dark\:border-violet-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(124 58 237 / var(--tw-border-opacity, 1))}.dark\:border-violet-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(109 40 217 / var(--tw-border-opacity, 1))}.dark\:border-violet-800\/60:is(.dark *){border-color:#5b21b699}.dark\:border-yellow-500\/50:is(.dark *){border-color:#eab30880}.dark\:border-yellow-600\/50:is(.dark *){border-color:#ca8a0480}.dark\:border-b-gray-950:is(.dark *){--tw-border-opacity: 1;border-bottom-color:rgb(3 7 18 / var(--tw-border-opacity, 1))}.dark\:border-l-amber-500:is(.dark *){--tw-border-opacity: 1;border-left-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.dark\:border-l-gray-500:is(.dark *){--tw-border-opacity: 1;border-left-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:border-l-red-500:is(.dark *){--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.dark\:border-l-sky-500:is(.dark *){--tw-border-opacity: 1;border-left-color:rgb(14 165 233 / var(--tw-border-opacity, 1))}.dark\:border-t-blue-400:is(.dark *){--tw-border-opacity: 1;border-top-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.dark\:border-t-transparent:is(.dark *){border-top-color:transparent}.dark\:bg-amber-400\/25:is(.dark *){background-color:#fbbf2440}.dark\:bg-amber-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.dark\:bg-amber-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:#78350f33}.dark\:bg-amber-900\/30:is(.dark *){background-color:#78350f4d}.dark\:bg-amber-900\/40:is(.dark *){background-color:#78350f66}.dark\:bg-amber-950\/20:is(.dark *){background-color:#451a0333}.dark\:bg-amber-950\/30:is(.dark *){background-color:#451a034d}.dark\:bg-amber-950\/40:is(.dark *){background-color:#451a0366}.dark\:bg-amber-950\/50:is(.dark *){background-color:#451a0380}.dark\:bg-blue-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-900\/10:is(.dark *){background-color:#1e3a8a1a}.dark\:bg-blue-950\/20:is(.dark *){background-color:#17255433}.dark\:bg-blue-950\/30:is(.dark *){background-color:#1725544d}.dark\:bg-blue-950\/40:is(.dark *){background-color:#17255466}.dark\:bg-cyan-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(22 78 99 / var(--tw-bg-opacity, 1))}.dark\:bg-emerald-400\/25:is(.dark *){background-color:#34d39940}.dark\:bg-emerald-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-100:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-200:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-300:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800\/50:is(.dark *){background-color:#1f293780}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900\/20:is(.dark *){background-color:#11182733}.dark\:bg-gray-900\/30:is(.dark *){background-color:#1118274d}.dark\:bg-gray-900\/40:is(.dark *){background-color:#11182766}.dark\:bg-gray-900\/50:is(.dark *){background-color:#11182780}.dark\:bg-gray-900\/60:is(.dark *){background-color:#11182799}.dark\:bg-gray-900\/70:is(.dark *){background-color:#111827b3}.dark\:bg-gray-900\/95:is(.dark *){background-color:#111827f2}.dark\:bg-gray-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-950\/40:is(.dark *){background-color:#03071266}.dark\:bg-green-500\/15:is(.dark *){background-color:#22c55e26}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-green-900\/40:is(.dark *){background-color:#14532d66}.dark\:bg-green-950\/30:is(.dark *){background-color:#052e164d}.dark\:bg-indigo-500:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.dark\:bg-indigo-950\/30:is(.dark *){background-color:#1e1b4b4d}.dark\:bg-red-500\/15:is(.dark *){background-color:#ef444426}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:bg-red-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(69 10 10 / var(--tw-bg-opacity, 1))}.dark\:bg-red-950\/30:is(.dark *){background-color:#450a0a4d}.dark\:bg-red-950\/50:is(.dark *){background-color:#450a0a80}.dark\:bg-rose-400\/20:is(.dark *){background-color:#fb718533}.dark\:bg-sky-900\/40:is(.dark *){background-color:#0c4a6e66}.dark\:bg-sky-900\/50:is(.dark *){background-color:#0c4a6e80}.dark\:bg-sky-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(8 47 73 / var(--tw-bg-opacity, 1))}.dark\:bg-sky-950\/20:is(.dark *){background-color:#082f4933}.dark\:bg-sky-950\/30:is(.dark *){background-color:#082f494d}.dark\:bg-sky-950\/40:is(.dark *){background-color:#082f4966}.dark\:bg-sky-950\/50:is(.dark *){background-color:#082f4980}.dark\:bg-sky-950\/60:is(.dark *){background-color:#082f4999}.dark\:bg-teal-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(13 148 136 / var(--tw-bg-opacity, 1))}.dark\:bg-teal-950\/30:is(.dark *){background-color:#042f2e4d}.dark\:bg-transparent:is(.dark *){background-color:transparent}.dark\:bg-violet-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(167 139 250 / var(--tw-bg-opacity, 1))}.dark\:bg-violet-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity, 1))}.dark\:bg-violet-950\/20:is(.dark *){background-color:#2e106533}.dark\:bg-yellow-400\/30:is(.dark *){background-color:#facc154d}.dark\:bg-yellow-950\/15:is(.dark *){background-color:#42200626}.dark\:fill-\[\#F26B4E\]:is(.dark *){fill:#f26b4e}.dark\:fill-amber-400\/15:is(.dark *){fill:#fbbf2426}.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-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:#030712}.dark\:fill-indigo-500:is(.dark *){fill:#6366f1}.dark\:fill-rose-400\/10:is(.dark *){fill:#fb71851a}.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:#030712}.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-amber-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.dark\:text-amber-200:is(.dark *){--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.dark\:text-amber-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.dark\:text-amber-300\/80:is(.dark *){color:#fcd34dcc}.dark\:text-amber-300\/90:is(.dark *){color:#fcd34de6}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-amber-400\/70:is(.dark *){color:#fbbf24b3}.dark\:text-amber-500:is(.dark *){--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.dark\:text-amber-500\/80:is(.dark *){color:#f59e0bcc}.dark\:text-blue-200:is(.dark *){--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / 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-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-300\/10:is(.dark *){color:#d1d5db1a}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-50:is(.dark *){--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity, 1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\:text-gray-700:is(.dark *){--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.dark\:text-gray-800:is(.dark *){--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.dark\:text-gray-900:is(.dark *){--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.dark\:text-gray-950:is(.dark *){--tw-text-opacity: 1;color:rgb(3 7 18 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-green-400\/70:is(.dark *){color:#4ade80b3}.dark\:text-indigo-300:is(.dark *){--tw-text-opacity: 1;color:rgb(165 180 252 / 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\:text-orange-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-rose-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.dark\:text-rose-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.dark\:text-sky-200:is(.dark *){--tw-text-opacity: 1;color:rgb(186 230 253 / var(--tw-text-opacity, 1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.dark\:text-sky-400:is(.dark *){--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.dark\:text-teal-300:is(.dark *){--tw-text-opacity: 1;color:rgb(94 234 212 / var(--tw-text-opacity, 1))}.dark\:text-teal-400:is(.dark *){--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity, 1))}.dark\:text-violet-200:is(.dark *){--tw-text-opacity: 1;color:rgb(221 214 254 / var(--tw-text-opacity, 1))}.dark\:text-violet-300:is(.dark *){--tw-text-opacity: 1;color:rgb(196 181 253 / var(--tw-text-opacity, 1))}.dark\:text-violet-300\/70:is(.dark *){color:#c4b5fdb3}.dark\:text-violet-300\/90:is(.dark *){color:#c4b5fde6}.dark\:text-violet-400:is(.dark *){--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.dark\:text-yellow-100:is(.dark *){--tw-text-opacity: 1;color:rgb(254 249 195 / var(--tw-text-opacity, 1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.dark\:text-yellow-500:is(.dark *){--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.dark\:decoration-sky-300\/40:is(.dark *){text-decoration-color:#7dd3fc66}.dark\:ring-gray-700:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity, 1))}.dark\:ring-gray-900:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(17 24 39 / var(--tw-ring-opacity, 1))}.dark\:ring-sky-400:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(56 189 248 / var(--tw-ring-opacity, 1))}.dark\:ring-white\/10:is(.dark *){--tw-ring-color: rgb(255 255 255 / .1)}.dark\:ring-white\/20:is(.dark *){--tw-ring-color: rgb(255 255 255 / .2)}.dark\:ring-offset-gray-950:is(.dark *){--tw-ring-offset-color: #030712}.dark\:\[color-scheme\:dark\]:is(.dark *){color-scheme:dark}.dark\:placeholder\:text-gray-400:is(.dark *)::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:placeholder\:text-gray-400:is(.dark *)::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:hover\:border-gray-300:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.dark\:hover\:border-gray-500:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:hover\:border-gray-600:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:hover\:border-gray-700:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:hover\:border-sky-700:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(3 105 161 / var(--tw-border-opacity, 1))}.dark\:hover\:bg-amber-900\/30:hover:is(.dark *){background-color:#78350f4d}.dark\:hover\:bg-amber-900\/40:hover:is(.dark *){background-color:#78350f66}.dark\:hover\:bg-blue-400:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-blue-500:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-blue-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-blue-800\/60:hover:is(.dark *){background-color:#1e40af99}.dark\:hover\:bg-blue-900\/30:hover:is(.dark *){background-color:#1e3a8a4d}.dark\:hover\:bg-blue-950\/40:hover:is(.dark *){background-color:#17255466}.dark\:hover\:bg-gray-300:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.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\:bg-gray-800\/40:hover:is(.dark *){background-color:#1f293766}.dark\:hover\:bg-gray-800\/50:hover:is(.dark *){background-color:#1f293780}.dark\:hover\:bg-gray-800\/60:hover:is(.dark *){background-color:#1f293799}.dark\:hover\:bg-gray-800\/70:hover:is(.dark *){background-color:#1f2937b3}.dark\:hover\:bg-gray-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-900\/40:hover:is(.dark *){background-color:#11182766}.dark\:hover\:bg-gray-900\/60:hover:is(.dark *){background-color:#11182799}.dark\:hover\:bg-gray-900\/70:hover:is(.dark *){background-color:#111827b3}.dark\:hover\:bg-green-900\/30:hover:is(.dark *){background-color:#14532d4d}.dark\:hover\:bg-green-950\/30:hover:is(.dark *){background-color:#052e164d}.dark\:hover\:bg-red-900\/30:hover:is(.dark *){background-color:#7f1d1d4d}.dark\:hover\:bg-red-950:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(69 10 10 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-sky-500\/10:hover:is(.dark *){background-color:#0ea5e91a}.dark\:hover\:bg-sky-900:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(12 74 110 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-sky-900\/30:hover:is(.dark *){background-color:#0c4a6e4d}.dark\:hover\:bg-sky-900\/40:hover:is(.dark *){background-color:#0c4a6e66}.dark\:hover\:bg-sky-950:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(8 47 73 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-sky-950\/20:hover:is(.dark *){background-color:#082f4933}.dark\:hover\:bg-sky-950\/40:hover:is(.dark *){background-color:#082f4966}.dark\:hover\:bg-sky-950\/50:hover:is(.dark *){background-color:#082f4980}.dark\:hover\:bg-violet-900\/20:hover:is(.dark *){background-color:#4c1d9533}.dark\:hover\:bg-violet-900\/30:hover:is(.dark *){background-color:#4c1d954d}.dark\:hover\:bg-violet-900\/40:hover:is(.dark *){background-color:#4c1d9566}.dark\:hover\:bg-white:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-amber-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-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\:text-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:hover\:text-gray-50:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(249 250 251 / var(--tw-text-opacity, 1))}.dark\:hover\:text-red-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:hover\:text-sky-100:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(224 242 254 / var(--tw-text-opacity, 1))}.dark\:hover\:text-sky-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity, 1))}.dark\:hover\:text-sky-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(56 189 248 / var(--tw-text-opacity, 1))}.dark\:hover\:text-white:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:hover\:ring-gray-600:hover:is(.dark *){--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-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\:bg-gray-800:focus:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:focus-visible\:bg-blue-600:focus-visible:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.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))}.dark\:enabled\:hover\:bg-gray-800:hover:enabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:disabled\:text-gray-400:disabled:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}@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\:top-auto{top:auto}.max-sm\:w-auto{width:auto}.max-sm\:max-w-none{max-width:none}}@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\:w-44{width:11rem}.sm\:w-56{width:14rem}.sm\:max-w-\[10rem\]{max-width:10rem}.sm\:max-w-\[32rem\]{max-width:32rem}.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-col{flex-direction:column}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:overflow-y-auto{overflow-y:auto}.sm\:overflow-x-visible{overflow-x:visible}.sm\:truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm\:border-b-0{border-bottom-width:0px}.sm\:border-r{border-right-width:1px}.sm\:py-3{padding-top:.75rem;padding-bottom:.75rem}}@media(min-width:768px){.md\:flex{display:flex}.md\:min-h-0{min-height:0px}.md\:w-56{width:14rem}.md\:w-72{width:18rem}.md\:w-full{width:100%}.md\:flex-1{flex:1 1 0%}.md\:shrink-0{flex-shrink:0}.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-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:overflow-y-auto{overflow-y:auto}.md\:overflow-x-visible{overflow-x:visible}.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}}@media(min-width:1024px){.lg\:sticky{position:sticky}.lg\:inset-y-auto{top:auto;bottom:auto}.lg\:right-auto{right:auto}.lg\:top-0{top:0}.lg\:z-auto{z-index:auto}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:max-h-\[var\(--tray-h\,calc\(100vh-7rem\)\)\]{max-height:var(--tray-h, calc(100vh - 7rem) )}.lg\:min-h-0{min-height:0px}.lg\:w-64{width:16rem}.lg\:w-72{width:18rem}.lg\:w-\[min\(var\(--tray-w\)\,calc\(100\%-20rem\)\)\]{width:min(var(--tray-w),calc(100% - 20rem))}.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\:flex-row{flex-direction:row}.lg\:gap-0{gap:0px}.lg\:self-start{align-self:flex-start}.lg\:rounded-md{border-radius:.375rem}.lg\:border{border-width:1px}.lg\:border-l{border-left-width:1px}.lg\:pl-3{padding-left:.75rem}.lg\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@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-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{.print\:hidden{display:none}}.\[\&_img\]\:hidden img{display:none}
|