pi-tps-web 1.7.3 → 1.7.4

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.
@@ -1048,4 +1048,4 @@ LIMIT 100`},{label:`Energy & CO₂ detail`,sql:`SELECT
1048
1048
  FROM tps_paired
1049
1049
  WHERE energy_joules IS NOT NULL
1050
1050
  ORDER BY timestamp`}],B9=``,V9=/^_grp_count_(\d+)$/,H9={id:`ID`,usd:`USD`,ms:`MS`,cwd:`CWD`,url:`URL`,uri:`URI`,api:`API`,http:`HTTP`,https:`HTTPS`,ip:`IP`,db:`DB`,sql:`SQL`,jwt:`JWT`,csv:`CSV`,html:`HTML`,css:`CSS`,js:`JS`,ts:`TS`,json:`JSON`,xml:`XML`,os:`OS`,cpu:`CPU`,ram:`RAM`,gpu:`GPU`,ai:`AI`,llm:`LLM`,tps:`TPS`,ttft:`TTFT`,pct:`PCT`,avg:`AVG`};function U9(e){let t=e.match(V9);if(t)return`Count (L${t[1]})`;let n=e.replace(/_/g,` `);return n=n.replace(/([a-z0-9])([A-Z])/g,`$1 $2`),n.split(/\s+/).filter(Boolean).map(e=>{let t=e.toLowerCase();return H9[t]?H9[t]:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()}).join(` `)}function W9(e){let t=e.toLowerCase();return t===`timestamp`||t===`time`||t===`createdat`||t===`updatedat`||t===`created_at`||t===`updated_at`||t===`session_start`||t===`session_end`}function EDe(e,t){let n=new Set;for(let r=0;r<e.length;r++){let i=e[r];for(let e=0;e<t.length;e++){let a=t[e][r];if(typeof a==`string`&&a.length>60){n.add(i);break}}}return n}var DDe=/[*_`>[\]#~|]/,ODe=/^[>|#*\-+] |^\d+\. |^```/m;function kDe(e){return DDe.test(e)?ODe.test(e)||/\|/.test(e)&&/\n/.test(e)?2:1:0}var ADe=/(\*\*[^*]+?\*\*|__[^_]+?__|~~[^~]+?~~|\*[^*]+?\*|_[^_]+?_|`[^`]+?`|\[.+?\]\(.+?\))/g,jDe=(0,b.memo)(function({text:e}){let t=e.split(ADe).filter(Boolean);return(0,F.jsx)(`span`,{className:`text-zinc-600 dark:text-zinc-300`,children:t.map((e,t)=>{if(e.startsWith(`**`)||e.startsWith(`__`))return(0,F.jsx)(`strong`,{className:`font-semibold text-zinc-800 dark:text-zinc-200`,children:e.slice(2,-2)},t);if(e.startsWith(`~~`))return(0,F.jsx)(`del`,{children:e.slice(2,-2)},t);if(e.startsWith(`*`)||e.startsWith(`_`))return(0,F.jsx)(`em`,{className:`italic`,children:e.slice(1,-1)},t);if(e.startsWith("`"))return(0,F.jsx)(`code`,{className:`bg-zinc-100 dark:bg-zinc-900 rounded px-1 font-mono text-[11px]`,children:e.slice(1,-1)},t);if(e.startsWith(`[`)){let n=e.match(/\[(.+?)\]\((.+?)\)/);if(n)return(0,F.jsx)(`a`,{href:n[2],className:`text-accent underline`,target:`_blank`,rel:`noopener noreferrer`,children:n[1]},t)}return(0,F.jsx)(`span`,{children:e},t)})})}),G9=(0,b.memo)(function({text:e}){let t=kDe(e);return t===0?(0,F.jsx)(`span`,{className:`text-zinc-600 dark:text-zinc-300`,children:e}):t===1?(0,F.jsx)(jDe,{text:e}):(0,F.jsx)(tve,{remarkPlugins:[mbe],disallowedElements:[`h1`,`h2`,`h3`,`h4`,`h5`,`h6`,`hr`,`img`],unwrapDisallowed:!0,components:{p:({children:e})=>(0,F.jsx)(`span`,{children:e}),a:({href:e,children:t})=>(0,F.jsx)(`a`,{href:e,className:`text-accent underline`,target:`_blank`,rel:`noopener noreferrer`,children:t}),strong:({children:e})=>(0,F.jsx)(`strong`,{className:`font-semibold text-zinc-800 dark:text-zinc-200`,children:e}),em:({children:e})=>(0,F.jsx)(`em`,{className:`italic`,children:e}),code:({className:e,children:t})=>{if(!e||!e.startsWith(`language-`))return(0,F.jsx)(`code`,{className:`bg-zinc-100 dark:bg-zinc-900 rounded px-1 font-mono text-[11px]`,children:t});let n=e.replace(`language-`,``);return(0,F.jsxs)(`pre`,{className:`bg-zinc-100 dark:bg-zinc-900 rounded px-1.5 py-0.5 my-0.5 overflow-x-auto`,children:[n&&(0,F.jsx)(`div`,{className:`text-[9px] uppercase tracking-wider text-zinc-400 dark:text-zinc-500 mb-0.5`,children:n}),(0,F.jsx)(`code`,{className:`font-mono text-[11px]`,children:t})]})},blockquote:({children:e})=>(0,F.jsx)(`blockquote`,{className:`border-l-2 border-zinc-300 dark:border-zinc-600 pl-2 italic text-zinc-500 dark:text-zinc-400 my-0.5`,children:e}),ul:({children:e})=>(0,F.jsx)(`ul`,{className:`list-disc pl-4 my-0.5`,children:e}),ol:({children:e})=>(0,F.jsx)(`ol`,{className:`list-decimal pl-4 my-0.5`,children:e}),li:({children:e})=>(0,F.jsx)(`li`,{children:e}),table:({children:e})=>(0,F.jsx)(`table`,{className:`border-collapse text-[11px] my-1 w-full`,children:e}),thead:({children:e})=>(0,F.jsx)(`thead`,{className:`bg-zinc-100 dark:bg-zinc-900 border-b border-zinc-200/60 dark:border-white/[0.06]`,children:e}),tbody:({children:e})=>(0,F.jsx)(`tbody`,{children:e}),tr:({children:e})=>(0,F.jsx)(`tr`,{className:`border-b border-zinc-200/40 dark:border-white/[0.04]`,children:e}),th:({children:e})=>(0,F.jsx)(`th`,{className:`px-2 py-1 text-left font-medium text-zinc-600 dark:text-zinc-300`,children:e}),td:({children:e})=>(0,F.jsx)(`td`,{className:`px-2 py-1 text-zinc-600 dark:text-zinc-300`,children:e}),br:()=>(0,F.jsx)(`br`,{})},children:e})});function K9(e,t){return e==null?`NULL`:typeof e==`number`&&W9(t)&&Number.isFinite(e)&&e>0xe8d4a51000?new Date(e).toISOString().replace(`T`,` `).slice(0,19):typeof e==`number`?e%1==0?e.toLocaleString():e.toFixed(4):String(e)}function MDe(e,t,n){let r=t.length<=500?1:Math.ceil(t.length/500),i=new Set([`timestamp`,`time`,`createdat`,`updatedat`,`created_at`,`updated_at`,`session_start`,`session_end`]);return e.map((e,a)=>{let o=e.toLowerCase(),s=e.replace(/_/g,` `).replace(/([a-z0-9])([A-Z])/g,`$1 $2`).split(/\s+/).filter(Boolean),c=s.reduce((e,t)=>e+(H9[t.toLowerCase()]||t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).length,s.length-1)*7+24,l=i.has(o);for(let i=0;i<t.length;i+=r){let r=t[i][a],o;o=r==null?4:typeof r==`number`?l&&Number.isFinite(r)&&r>0xe8d4a51000?19:r%1==0?r.toLocaleString().length:r.toFixed(4).length:String(r).length;let s=n.has(e)?520:300;c=Math.max(c,Math.min(o*7+24,s))}return c})}function NDe(e,t){if(t.length===0)return null;let n=e.replace(/;+\s*$/,``).trim();return`SELECT _sub.*, ${t.map((e,t)=>`COUNT(*) OVER (PARTITION BY ${e}) AS _grp_count_${t+1}`).join(`, `)} FROM (${n}) AS _sub`}function PDe(e,t){let n=[],r=/COUNT\(\*\)\s+OVER\s+\(\s*PARTITION\s+BY\s+([^)]+)\)\s+AS\s+_grp_count_(\d+)/gi,i;for(;(i=r.exec(e))!==null;){let e=i[1].trim().split(`.`).pop(),t=parseInt(i[2],10)-1;for(;n.length<=t;)n.push(``);n[t]=e}return n.filter(e=>e&&t.includes(e))}function FDe(e,t){let n=e.replace(/--[^\n]*\n?/g,` `).replace(/\/\*[\s\S]*?\*\//g,` `),r=PDe(n,t);if(r.length>0)return r;let i=n.match(/GROUP\s+BY\s+([^)]+?)(?:\s+ORDER\s+BY|\s+LIMIT|\s+HAVING|\s+WINDOW|\s+QUALIFY|$)/i);if(!i)return[];let a=i[1].split(`,`).map(e=>e.trim()).filter(Boolean),o=n.match(/SELECT\s+(.*?)\s+FROM\s+/is),s=[];if(o){let e=o[1].split(`,`).map(e=>e.trim());for(let t of e){let e=t.match(/\s+AS\s+(\w+)$/i);if(e)s.push(e[1]);else{let e=t.split(/\s+/),n=e[e.length-1].replace(/[^a-zA-Z0-9_]/g,``);n&&s.push(n)}}}return a.map(e=>{let t=parseInt(e,10);return!isNaN(t)&&t>0&&t<=s.length?s[t-1]:e.split(`.`).pop()}).filter(e=>t.includes(e))}function IDe(e,t,n){if(n.length===0||e.length===0)return[];let r=n.map(e=>t.indexOf(e));if(r.some(e=>e===-1))return[];let i=n.map((e,n)=>t.indexOf(`_grp_count_${n+1}`)),a=new Map;for(let t of e){let e=r.map(e=>String(t[e]??``));for(let r=0;r<n.length;r++){let n=e.slice(0,r+1).join(B9),o=i[r],s=o===-1?0:Number(t[o]);a.has(n)||a.set(n,s)}}let o=0;function s(e,t){let r=[];for(let[i,c]of a){let a=i.split(B9);if(a.length!==t+1||t>0&&a.slice(0,t).join(B9)!==e)continue;let l=a[t],u=a.join(B9);if(t===n.length-1)r.push({id:o++,value:l||null,depth:t,groupCount:c,children:[],path:u});else{let e=s(u,t+1),n=e.reduce((e,t)=>e+t.groupCount,0);r.push({id:o++,value:l||null,depth:t,groupCount:n,children:e,path:u})}}return r.sort((e,t)=>t.groupCount-e.groupCount),r}return s(``,0)}function LDe(e,t,n){let r=e.map(e=>t.indexOf(e)),i=new Map;for(let t=0;t<n.length;t++){let a=n[t],o=r.map(e=>String(a[e]??``));for(let n=0;n<e.length;n++){let e=o.slice(0,n+1).join(B9),r=i.get(e);r||(r=[],i.set(e,r)),r.push(t)}}return i}var q9={group:36,detail:30,flat:36};function J9(e,t,n,r,i){let a=[];for(let o of e){let e=o.children.length>0;if(a.push({type:`group`,nodeId:o.id,depth:i}),e&&t.has(o.id))a.push(...J9(o.children,t,n,r,i+1));else if(!e&&n.has(o.id)){let e=r.get(o.path),t=e?e.length:0;for(let e=0;e<t;e++)a.push({type:`detail`,nodeId:o.id,depth:i,rowIndex:e})}}return a}function RDe(e){return e.filter(e=>!V9.test(e))}function zDe({cols:e}){return(0,F.jsx)(`div`,{className:`flex items-center gap-3 px-3 py-2 border-b border-zinc-200/40 dark:border-white/[0.04]`,children:Array.from({length:e}).map((e,t)=>(0,F.jsx)(`div`,{className:`h-3 rounded bg-zinc-200/60 dark:bg-zinc-700/40 animate-pulse`,style:{width:`${60+t*17%30}px`}},t))})}var Y9=[`events`,`tps_flat`,`energy_flat`,`messages_flat`],X9={events:`session_id.id.parent_id.timestamp.type.provider.model_id.tokens_input.tokens_output.tokens_cache_read.tokens_cache_write.tokens_total.ttft_ms.total_ms.generation_ms.stream_ms.stall_ms.stall_count.tps.cost_input.cost_output.cost_cache_read.cost_cache_write.cost_total.rate_usd_per_m_tokens.energy_joules.energy_cost_usd.rewind_v.from_id.summary.message_role.message_content.message_model`.split(`.`),tps_flat:[`session_id`,`id`,`parent_id`,`timestamp`,`provider`,`model_id`,`tokens_input`,`tokens_output`,`tokens_cache_read`,`tokens_cache_write`,`tokens_total`,`ttft_ms`,`total_ms`,`generation_ms`,`stream_ms`,`stall_ms`,`stall_count`,`tps`,`cost_input`,`cost_output`,`cost_cache_read`,`cost_cache_write`,`cost_total`,`rate_usd_per_m_tokens`],energy_flat:[`session_id`,`id`,`parent_id`,`timestamp`,`energy_joules`,`energy_cost_usd`],messages_flat:[`session_id`,`id`,`parent_id`,`timestamp`,`message_role`,`message_content`,`message_model`]},BDe=U5.define({keywords:`select from where group by order having limit offset as and or not in is null like between exists case when then else end insert into values create table view drop if alter set join on left right inner outer cross union all distinct asc desc over partition window function cast coalesce nullif true false with recursive using natural full fetch next rows range unbounded preceding following current row exclude`,types:`varchar bigint double int boolean float date timestamp`,builtin:`count sum avg min max round abs ceil floor row_number rank dense_rank lag lead first_value last_value list unnest struct_extract array_agg string_agg concat coalesce nullif cast try_cast date_trunc now extract interval generate_series read_csv read_parquet count_if`}),Z9=Z.theme({"&":{fontSize:`12px`,fontFamily:`'Geist Mono', 'JetBrains Mono', monospace`},".cm-content":{padding:`12px 16px`,caretColor:`#0891b2`},".cm-focused":{outline:`none`},".cm-gutters":{backgroundColor:`transparent`,border:`none`,color:`#a1a1aa`,paddingRight:`4px`},".cm-activeLineGutter":{backgroundColor:`rgba(8, 145, 178, 0.05)`,color:`#71717a`},".cm-activeLine":{backgroundColor:`rgba(8, 145, 178, 0.04)`},".cm-selectionBackground":{backgroundColor:`rgba(8, 145, 178, 0.15) !important`},".cm-cursor":{borderLeftColor:`#0891b2`,borderLeftWidth:`2px`},".cm-matchingBracket":{backgroundColor:`rgba(8, 145, 178, 0.2)`,outline:`1px solid rgba(8, 145, 178, 0.4)`},"&.cm-focused .cm-selectionBackground":{backgroundColor:`rgba(8, 145, 178, 0.2) !important`}}),Q9=Z.theme({"&":{fontSize:`12px`,fontFamily:`'Geist Mono', 'JetBrains Mono', monospace`,color:`#d4d4d8`,backgroundColor:`transparent`},".cm-content":{padding:`12px 16px`,caretColor:`#06b6d4`},".cm-focused":{outline:`none`},".cm-gutters":{backgroundColor:`transparent`,border:`none`,color:`#52525b`,paddingRight:`4px`},".cm-activeLineGutter":{backgroundColor:`rgba(6, 182, 212, 0.05)`,color:`#71717a`},".cm-activeLine":{backgroundColor:`rgba(6, 182, 212, 0.04)`},".cm-selectionBackground":{backgroundColor:`rgba(6, 182, 212, 0.15) !important`},".cm-cursor":{borderLeftColor:`#06b6d4`,borderLeftWidth:`2px`},".cm-matchingBracket":{backgroundColor:`rgba(6, 182, 212, 0.2)`,outline:`1px solid rgba(6, 182, 212, 0.4)`},"&.cm-focused .cm-selectionBackground":{backgroundColor:`rgba(6, 182, 212, 0.2) !important`}},{dark:!0}),VDe=i8.define([{tag:$.keyword,color:`#0e7490`,fontWeight:`600`},{tag:$.controlKeyword,color:`#0e7490`,fontWeight:`600`},{tag:$.definitionKeyword,color:`#0e7490`,fontWeight:`600`},{tag:$.operatorKeyword,color:`#0e7490`,fontWeight:`600`},{tag:$.moduleKeyword,color:`#0e7490`,fontWeight:`600`},{tag:$.string,color:`#b45309`},{tag:$.docString,color:`#b45309`},{tag:$.character,color:`#b45309`},{tag:$.number,color:`#9333ea`},{tag:$.integer,color:`#9333ea`},{tag:$.float,color:`#9333ea`},{tag:$.bool,color:`#0e7490`,fontStyle:`italic`},{tag:$.null,color:`#0e7490`,fontStyle:`italic`},{tag:$.atom,color:`#0e7490`,fontStyle:`italic`},{tag:$.typeName,color:`#15803d`},{tag:$.variableName,color:`#09090b`},{tag:$.propertyName,color:`#7c3aed`},{tag:$.function($.variableName),color:`#0e7490`},{tag:$.labelName,color:`#7c3aed`},{tag:$.operator,color:`#52525b`},{tag:$.arithmeticOperator,color:`#52525b`},{tag:$.compareOperator,color:`#52525b`},{tag:$.logicOperator,color:`#0e7490`},{tag:$.punctuation,color:`#a1a1aa`},{tag:$.bracket,color:`#a1a1aa`},{tag:$.separator,color:`#a1a1aa`},{tag:$.comment,color:`#a1a1aa`,fontStyle:`italic`},{tag:$.lineComment,color:`#a1a1aa`,fontStyle:`italic`},{tag:$.blockComment,color:`#a1a1aa`,fontStyle:`italic`},{tag:$.special($.string),color:`#0e7490`},{tag:$.escape,color:`#0e7490`},{tag:$.meta,color:`#71717a`},{tag:$.invalid,color:`#dc2626`}],{themeType:`light`}),HDe=i8.define([{tag:$.keyword,color:`#22d3ee`,fontWeight:`600`},{tag:$.controlKeyword,color:`#22d3ee`,fontWeight:`600`},{tag:$.definitionKeyword,color:`#22d3ee`,fontWeight:`600`},{tag:$.operatorKeyword,color:`#22d3ee`,fontWeight:`600`},{tag:$.moduleKeyword,color:`#22d3ee`,fontWeight:`600`},{tag:$.string,color:`#fbbf24`},{tag:$.docString,color:`#fbbf24`},{tag:$.character,color:`#fbbf24`},{tag:$.number,color:`#c084fc`},{tag:$.integer,color:`#c084fc`},{tag:$.float,color:`#c084fc`},{tag:$.bool,color:`#22d3ee`,fontStyle:`italic`},{tag:$.null,color:`#22d3ee`,fontStyle:`italic`},{tag:$.atom,color:`#22d3ee`,fontStyle:`italic`},{tag:$.typeName,color:`#4ade80`},{tag:$.variableName,color:`#d4d4d8`},{tag:$.propertyName,color:`#c084fc`},{tag:$.function($.variableName),color:`#22d3ee`},{tag:$.labelName,color:`#c084fc`},{tag:$.operator,color:`#a1a1aa`},{tag:$.arithmeticOperator,color:`#a1a1aa`},{tag:$.compareOperator,color:`#a1a1aa`},{tag:$.logicOperator,color:`#22d3ee`},{tag:$.punctuation,color:`#71717a`},{tag:$.bracket,color:`#71717a`},{tag:$.separator,color:`#71717a`},{tag:$.comment,color:`#52525b`,fontStyle:`italic`},{tag:$.lineComment,color:`#52525b`,fontStyle:`italic`},{tag:$.blockComment,color:`#52525b`,fontStyle:`italic`},{tag:$.special($.string),color:`#22d3ee`},{tag:$.escape,color:`#22d3ee`},{tag:$.meta,color:`#71717a`},{tag:$.invalid,color:`#f87171`}],{themeType:`dark`}),UDe=`SELECT.FROM.WHERE.GROUP.BY.ORDER.HAVING.LIMIT.OFFSET.AS.AND.OR.NOT.IN.IS.NULL.LIKE.BETWEEN.EXISTS.CASE.WHEN.THEN.ELSE.END.INSERT.INTO.VALUES.CREATE.TABLE.VIEW.DROP.IF.ALTER.SET.JOIN.ON.LEFT.RIGHT.INNER.OUTER.CROSS.UNION.ALL.DISTINCT.ASC.DESC.OVER.PARTITION.WINDOW.FUNCTION.CAST.COALESCE.NULLIF.TRUE.FALSE.WITH.RECURSIVE.USING.NATURAL.FULL.FETCH.NEXT.ROWS.RANGE.UNBOUNDED.PRECEDING.FOLLOWING.CURRENT.ROW.EXCLUDE`.split(`.`),WDe=`COUNT.SUM.AVG.MIN.MAX.ROUND.ABS.CEIL.FLOOR.ROW_NUMBER.RANK.DENSE_RANK.LAG.LEAD.FIRST_VALUE.LAST_VALUE.LIST.UNNEST.STRUCT_EXTRACT.ARRAY_AGG.STRING_AGG.CONCAT.COALESCE.NULLIF.CAST.TRY_CAST.DATE_TRUNC.NOW.EXTRACT.INTERVAL.GENERATE_SERIES.READ_CSV.READ_PARQUET.COUNT_IF`.split(`.`),GDe=[`VARCHAR`,`BIGINT`,`DOUBLE`,`INTEGER`,`BOOLEAN`,`FLOAT`,`DATE`,`TIMESTAMP`];function $9(e){let t=e.matchBefore(/[\w.]+/),n=t?t.from:e.pos;if(!t&&!e.explicit)return null;let r=[];for(let e of UDe)r.push({label:e,type:`keyword`,detail:`keyword`});for(let e of WDe)r.push({label:e,type:`function`,detail:`function`});for(let e of GDe)r.push({label:e,type:`type`,detail:`type`});for(let e of Y9)r.push({label:e,type:`class`,detail:`table`});for(let[e,t]of Object.entries(X9))for(let n of t)r.push({label:n,type:`property`,detail:e});return{from:n,options:r,filter:!0}}function KDe({dbVersion:e,activeSessionId:t}){let{theme:n}=_p(),[r,i]=(0,b.useState)(``),[a,o]=(0,b.useState)(``),[s,c]=(0,b.useState)(null),[l,u]=(0,b.useState)(!1),[d,f]=(0,b.useState)(!1),[p,m]=(0,b.useState)(null),[h,g]=(0,b.useState)([]),[_,v]=(0,b.useState)([]),[y,x]=(0,b.useState)(new Set),[S,C]=(0,b.useState)(new Set),w=_.length>0?_:h,[T,E]=(0,b.useState)(!1),[D,O]=(0,b.useState)(null),[k,ee]=(0,b.useState)(1),[te,ne]=(0,b.useState)(!1),[re,A]=(0,b.useState)(0),ie=(0,b.useRef)(null),j=(0,b.useRef)(null),M=(0,b.useRef)(null),ae=(0,b.useRef)(null),[oe,se]=(0,b.useState)(33),N=(0,b.useRef)(new $$),ce=(0,b.useRef)(new $$),le=(0,b.useRef)(()=>{}),ue=(0,b.useCallback)(async()=>{if(d)return;let{getDuckDB:e}=await TDe(async()=>{let{getDuckDB:e}=await Promise.resolve().then(()=>fne);return{getDuckDB:e}},void 0);await e(),f(!0)},[]),de=(0,b.useRef)(0),fe=(0,b.useCallback)(async(e,t)=>{let n=e??r;if(!n.trim())return;let i=++de.current;u(!0),m(null);try{await ue();let e=await Xb(),r=n.replace(/;+\s*$/,``);t&&(r=`SELECT * FROM (${r}) AS _q WHERE session_id = '${t.replace(/'/g,`''`)}'`);let a=`SELECT * FROM (${r}) AS _q LIMIT 50000`,o=await e.query(a),s=o.schema.fields.map(e=>e.name),l=[];for(let e of o.batches){let t=s.map(t=>e.getChild(t));for(let n=0;n<e.numRows;n++)l.push(t.map(e=>{let t=e?.get(n);return typeof t==`bigint`?Number(t):t??null}))}let u={columns:s,rows:l,rowCount:l.length};if(i!==de.current)return;if(u.rowCount>0||s.length>0){c(u);let e=FDe(n,u.columns);g(e),ne(!0)}}catch(e){m(e instanceof Error?e.message:`Query failed`)}finally{u(!1)}},[r,ue]),pe=(0,b.useCallback)(()=>{h.length===0&&o(r),fe(r,t)},[r,fe,h,t]);(0,b.useEffect)(()=>{le.current=pe},[pe]),(0,b.useEffect)(()=>{if(e!==0){if(s&&r.trim())fe(r,t);else if(!s&&!r.trim()){let e=z9[0].sql;i(e),o(e),M.current&&M.current.dispatch({changes:{from:0,to:M.current.state.doc.length,insert:e}}),fe(e,t)}}},[e]),(0,b.useEffect)(()=>{s&&r.trim()&&fe(r,t)},[t]);let me=(0,b.useCallback)(async e=>{if(!a.trim())return;if(e.length===0){v([]),i(a),M.current&&M.current.dispatch({changes:{from:0,to:M.current.state.doc.length,insert:a}}),fe(a,t);return}let n=NDe(a,e);n&&(i(n),M.current&&M.current.dispatch({changes:{from:0,to:M.current.state.doc.length,insert:n}}),v(e),fe(n,t),x(new Set),C(new Set))},[a,fe,t]);(0,b.useEffect)(()=>{if(!ie.current)return;let e=n===`dark`,t=new Z({state:b1.create({doc:r,extensions:[YSe(),QSe(),jSe(),WTe(),VCe(),Iwe(),QEe(),PTe({dialect:BDe,tables:Y9.map(e=>({label:e,type:`table`,columns:X9[e]?.map(e=>({label:e,type:`column`}))??[]}))}),ce.current.of(m5({override:[$9],activateOnTyping:!0,tooltipClass:()=>`cm-tps-autocomplete`})),N.current.of(e?Q9:Z9),c8(VDe),c8(HDe),g3.of([{key:`Mod-Enter`,run:()=>(le.current(),!0)},...zwe,...JEe,...yDe,...$Te]),Z.updateListener.of(e=>{if(e.docChanged){let t=e.state.doc.toString();i(t),ee(e.state.doc.lines)}}),Z.lineWrapping]}),parent:ie.current});return M.current=t,()=>{t.destroy(),M.current=null}},[]),(0,b.useEffect)(()=>{if(!M.current)return;let e=n===`dark`;M.current.dispatch({effects:[ce.current.reconfigure(m5({override:[$9],activateOnTyping:!0,tooltipClass:()=>`cm-tps-autocomplete`})),N.current.reconfigure(e?Q9:Z9)]})},[n]),(0,b.useEffect)(()=>{let e=ae.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().height;t>0&&se(t)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[s]),(0,b.useEffect)(()=>{let e=j.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().height;t>0&&A(t)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[r,s,k,p,h,T]);let he=(0,b.useCallback)((e,t)=>{O(t),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t)},[]),ge=(0,b.useCallback)(()=>{O(null)},[]),_e=(0,b.useCallback)(e=>{e.preventDefault(),E(!1);let t=e.dataTransfer.getData(`text/plain`);if(!t||h.includes(t))return;let n=[...h,t];me(n),O(null)},[h,me]),ve=(0,b.useCallback)(e=>{let t=h.filter(t=>t!==e);me(t)},[h,me]),ye=(0,b.useCallback)(e=>{x(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),be=(0,b.useCallback)(e=>{C(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),xe=(0,b.useMemo)(()=>s&&h.length>0&&s.rows.length>0?IDe(s.rows,s.columns,h):null,[s,h]),Se=(0,b.useMemo)(()=>{if(!xe)return!1;function e(t){for(let n of t)if(n.children.length>0){if(!e(n.children))return!1}else if(n.groupCount>1)return!1;return!0}return e(xe)},[xe]),Ce=(0,b.useMemo)(()=>s?s.columns.filter(e=>!V9.test(e)):[],[s]),we=(0,b.useMemo)(()=>s&&h.length>0?LDe(h,s.columns,s.rows):new Map,[s,h]),Te=(0,b.useMemo)(()=>{if(!xe)return new Map;let e=new Map;function t(n){for(let r of n)e.set(r.id,r),r.children.length>0&&t(r.children)}return t(xe),e},[xe]),Ee=(0,b.useMemo)(()=>xe&&xe.length>0&&h.length>0&&!Se?J9(xe,y,S,we,0):s?s.rows.map((e,t)=>({type:`flat`,rowIndex:t})):[],[xe,h,Se,y,S,we,s]),De=(0,b.useMemo)(()=>s?RDe(s.columns):[],[s]),Oe=(0,b.useMemo)(()=>De.map(e=>s?s.columns.indexOf(e):-1),[De,s]),ke=(0,b.useMemo)(()=>Ce.map(e=>s?s.columns.indexOf(e):-1),[Ce,s]),Ae=(0,b.useRef)(null),je=OJ({count:Ee.length,getScrollElement:()=>Ae.current,estimateSize:e=>{let t=Ee[e];return t?t.type===`group`?q9.group:q9[t.type]:36},measureElement:e=>e.getBoundingClientRect().height,overscan:20}),Me=je.getVirtualItems(),Ne=je.scrollOffset??0,Pe=null;if(xe&&xe.length>0&&h.length>0&&!Se&&Me.length>0){let e=-1;for(let t of Me){let n=Ee[t.index];if(n){if(n.type!==`group`){e=t.index;break}if(t.start+t.size<=Ne)Pe={nodeId:n.nodeId,depth:n.depth};else{Pe=null;break}}}if(e>=0&&!Pe)for(let t=e-1;t>=0;t--){let e=Ee[t];if(e&&e.type===`group`){Pe={nodeId:e.nodeId,depth:e.depth};break}}}let Fe=(0,b.useCallback)(()=>{if(!s)return;let e=De,t=[e.map(U9).join(`,`),...s.rows.map(t=>e.map(e=>{let n=s.columns.indexOf(e),r=n===-1?null:t[n],i=r==null?``:String(r);return/[",\r\n]/.test(i)?`"${i.replace(/"/g,`""`)}"`:i}).join(`,`))].join(`
1051
- `),n=new Blob([t],{type:`text/csv;charset=utf-8`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`query-result-${new Date().toISOString().slice(0,19).replace(/[T:]/g,`-`)}.csv`,i.click(),URL.revokeObjectURL(r)},[s,De]),Ie=(0,b.useCallback)(()=>{i(``),o(``),c(null),m(null),g([]),x(new Set),C(new Set),ee(1),ne(!1),M.current&&M.current.dispatch({changes:{from:0,to:M.current.state.doc.length,insert:``}})},[]),Le=(0,b.useCallback)(e=>{i(e),M.current&&M.current.dispatch({changes:{from:0,to:M.current.state.doc.length,insert:e}})},[]),Re=(0,b.useMemo)(()=>{if(!r.trim())return``;let e=r.replace(/\n+/g,` `).replace(/\s+/g,` `).trim();return e.length>80?e.slice(0,77)+`...`:e},[r]),ze=(0,b.useCallback)(()=>ne(!1),[]),Be=(0,b.useCallback)(()=>ne(!0),[]),{colWidths:Ve,longTextCols:He}=(0,b.useMemo)(()=>{if(!s)return{colWidths:[],longTextCols:new Set};let e=s.rows.length<=500?1:Math.ceil(s.rows.length/500),t=Ce.map(e=>s.columns.indexOf(e)),n=[];for(let r=0;r<s.rows.length;r+=e){let e=s.rows[r];n.push(t.map(t=>t===-1?null:e[t]))}let r=EDe(Ce,n),i=MDe(Ce,n,r);if(xe&&xe.length>0&&h.length>0&&!Se&&i.length>0){let e=0;function t(n,r){for(let i of n){let n=r*16,a=(i.value===null?`NULL`:String(i.value)).length*8+8;e=Math.max(e,n+48+a),i.children.length>0&&t(i.children,r+1)}}t(xe,0),i[0]=Math.max(i[0],e)}return{colWidths:i,longTextCols:r}},[s,Ce,xe,h,Se]);return(0,F.jsxs)(`div`,{className:`bg-white/80 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-2xl overflow-hidden flex flex-col min-h-0 h-full`,children:[(0,F.jsxs)(`div`,{onClick:()=>te?ze():s?Be():void 0,className:`flex items-center gap-2 px-4 py-3 border-b border-zinc-200/60 dark:border-white/[0.06] shrink-0 transition-colors duration-150 ${s?`cursor-pointer hover:bg-zinc-50 dark:hover:bg-white/[0.04]`:``}`,children:[(0,F.jsx)(Hd,{size:16,className:`text-accent shrink-0`,weight:`bold`}),(0,F.jsx)(`h2`,{className:`text-sm font-semibold text-zinc-800 dark:text-zinc-300 shrink-0`,children:`SQL Playground`}),(0,F.jsx)(`span`,{className:`text-[10px] metric-mono text-zinc-400 dark:text-zinc-500 shrink-0`,children:`DuckDB WASM · in-browser`}),te&&Re&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`text-zinc-300 dark:text-zinc-600 shrink-0`,children:`·`}),(0,F.jsx)(`code`,{className:`text-[11px] font-mono text-zinc-500 dark:text-zinc-400 truncate min-w-0`,children:Re})]}),(0,F.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5 shrink-0`,children:[te&&(0,F.jsx)(`button`,{onClick:ze,className:`p-1 rounded-md transition-colors hover:bg-zinc-100 dark:hover:bg-white/[0.06] text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300`,title:`Expand editor`,children:(0,F.jsx)(Ad,{size:14})}),!te&&s&&(0,F.jsx)(`button`,{onClick:Be,className:`p-1 rounded-md transition-colors hover:bg-zinc-100 dark:hover:bg-white/[0.06] text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300`,title:`Collapse editor`,children:(0,F.jsx)(Ad,{size:14,className:`rotate-180`})})]})]}),(0,F.jsx)(Nu.div,{initial:!1,animate:te?{height:0,opacity:0}:{height:re,opacity:1},transition:{duration:.25,ease:[.4,0,.2,1]},className:`overflow-hidden shrink-0`,children:(0,F.jsxs)(`div`,{ref:j,className:`px-4 pt-3 space-y-2`,children:[(0,F.jsxs)(`div`,{className:`relative rounded-2xl border border-zinc-200/60 dark:border-white/[0.06] bg-white/60 dark:bg-zinc-800/40 overflow-hidden transition-colors focus-within:border-accent/40 dark:focus-within:border-accent/40`,children:[(0,F.jsx)(`div`,{ref:ie,className:`min-h-[120px] max-h-[280px] overflow-auto`}),(0,F.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-t border-zinc-100 dark:border-white/[0.04]`,children:[(0,F.jsxs)(`span`,{className:`text-[10px] metric-mono text-zinc-400 dark:text-zinc-500`,children:[k,`L`]}),(0,F.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[r.trim()&&!s&&(0,F.jsx)(`button`,{onClick:Ie,className:`p-1.5 rounded-lg transition-colors hover:bg-zinc-100 dark:hover:bg-white/[0.06] active:scale-[0.97] text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300`,title:`Clear`,children:(0,F.jsx)(Gf,{size:12})}),(0,F.jsxs)(`button`,{onClick:()=>le.current(),disabled:l||!r.trim(),className:`inline-flex items-center justify-center gap-1 px-2.5 py-1 rounded-lg text-[10px] font-medium transition-all duration-200 active:scale-[0.97] disabled:opacity-30 disabled:cursor-not-allowed bg-accent text-white hover:bg-accent/90`,children:[l?(0,F.jsx)(`span`,{className:`inline-block w-3 h-3 rounded-full border-2 border-current border-t-transparent animate-spin`}):(0,F.jsx)(xf,{size:12,weight:`fill`}),`Run`]}),(0,F.jsx)(`span`,{className:`text-[10px] metric-mono text-zinc-400 dark:text-zinc-500 ml-1`,children:`⌘↵`})]})]})]}),(0,F.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:z9.map(e=>(0,F.jsx)(`button`,{onClick:()=>{Le(e.sql),o(e.sql),g([]),x(new Set),C(new Set),m(null),fe(e.sql,t)},className:`px-3 py-1.5 text-[11px] font-medium rounded-lg border border-zinc-200/60 dark:border-white/[0.06] bg-white/60 dark:bg-zinc-800/40 text-zinc-500 dark:text-zinc-400 hover:border-accent/30 hover:text-accent dark:hover:border-accent/40 dark:hover:text-accent-light transition-all duration-200 active:scale-[0.97]`,children:e.label},e.label))}),(0,F.jsx)(`div`,{onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,T||E(!0)},onDragLeave:e=>{let t=e.currentTarget.getBoundingClientRect();(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&E(!1)},onDrop:_e,className:`rounded-xl border-2 border-dashed h-[36px] overflow-hidden transition-all duration-200 ${T?`scale-[1.005]`:``} ${w.length>0||T?`border-accent/40 bg-accent/5 dark:bg-accent/10`:`border-zinc-200/60 dark:border-white/[0.06] bg-white/40 dark:bg-zinc-800/20`}`,children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2 px-3 h-full`,children:[(0,F.jsx)(Kd,{size:12,className:w.length>0?`text-accent/60`:`text-zinc-400 dark:text-zinc-500 opacity-40`}),w.length>0?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`text-[10px] font-medium shrink-0 text-accent`,children:`Grouped by`}),(0,F.jsx)(Lc,{children:w.map(e=>(0,F.jsxs)(Nu.span,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-[10px] border border-accent/30 bg-accent/10 text-accent font-mono`,children:[U9(e),(0,F.jsx)(`button`,{onClick:()=>ve(e),className:`rounded p-0.5 opacity-50 hover:opacity-100 transition-opacity`,children:(0,F.jsx)(Gf,{size:10})})]},e))})]}):(0,F.jsx)(`span`,{className:`text-[10px] text-zinc-400 dark:text-zinc-500`,children:s?`Drag column headers here to group and aggregate`:`Run a query, then drag column headers into this zone to group`})]})}),p&&(0,F.jsx)(Nu.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},className:`p-3 rounded-xl border border-red-200/40 dark:border-red-500/20 bg-red-50/50 dark:bg-red-500/5`,children:(0,F.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,F.jsx)(`div`,{className:`w-5 h-5 rounded-full flex items-center justify-center shrink-0 mt-0.5 bg-red-500/10`,children:(0,F.jsx)(Gf,{size:12,weight:`bold`,className:`text-red-500`})}),(0,F.jsxs)(`div`,{className:`min-w-0`,children:[(0,F.jsx)(`p`,{className:`text-xs font-medium mb-0.5 text-red-600 dark:text-red-400`,children:`Query Error`}),(0,F.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap break-all font-mono text-zinc-600 dark:text-zinc-300`,children:p})]})]})})]})}),te&&s&&(0,F.jsx)(`div`,{onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,T||E(!0)},onDragLeave:e=>{let t=e.currentTarget.getBoundingClientRect();(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&E(!1)},onDrop:_e,className:`rounded-xl border-2 border-dashed mx-4 mt-2 mb-2 h-[36px] overflow-hidden transition-all duration-200 ${T?`scale-[1.005]`:``} ${w.length>0||T?`border-accent/40 bg-accent/5 dark:bg-accent/10`:`border-zinc-200/60 dark:border-white/[0.06] bg-white/40 dark:bg-zinc-800/20`}`,children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2 px-3 h-full`,children:[(0,F.jsx)(Kd,{size:12,className:w.length>0?`text-accent/60`:`text-zinc-400 dark:text-zinc-500 opacity-40`}),w.length>0?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`text-[10px] font-medium shrink-0 text-accent`,children:`Grouped by`}),w.map(e=>(0,F.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-[10px] border border-accent/30 bg-accent/10 text-accent font-mono`,children:[U9(e),(0,F.jsx)(`button`,{onClick:()=>ve(e),className:`rounded p-0.5 opacity-50 hover:opacity-100 transition-opacity`,children:(0,F.jsx)(Gf,{size:10})})]},e))]}):(0,F.jsx)(`span`,{className:`text-[10px] text-zinc-400 dark:text-zinc-500`,children:`Drag column headers here to group and aggregate`})]})}),l&&!s&&(0,F.jsxs)(`div`,{className:`m-4 rounded-2xl overflow-hidden border border-zinc-200/60 dark:border-white/[0.06] flex-1 min-h-0`,children:[(0,F.jsx)(`div`,{className:`px-3 py-2 border-b border-zinc-200/40 dark:border-white/[0.04] bg-white dark:bg-zinc-800`,children:(0,F.jsx)(`div`,{className:`h-3 w-32 rounded bg-zinc-200/60 dark:bg-zinc-700/40 animate-pulse`})}),Array.from({length:5}).map((e,t)=>(0,F.jsx)(zDe,{cols:4},t))]}),!s&&!l&&!p&&!te&&(0,F.jsx)(`div`,{className:`m-4 rounded-2xl border border-zinc-200/60 dark:border-white/[0.06] p-10 flex-1 min-h-0 flex flex-col items-center justify-center bg-white/40 dark:bg-zinc-800/20`,children:(0,F.jsxs)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:[(0,F.jsx)(`div`,{className:`w-10 h-10 rounded-xl flex items-center justify-center mb-3 bg-zinc-100 dark:bg-white/[0.04]`,children:(0,F.jsx)(kf,{size:20,className:`text-zinc-400 dark:text-zinc-500`})}),(0,F.jsx)(`p`,{className:`text-sm font-medium mb-0.5 text-zinc-600 dark:text-zinc-300`,children:`No data yet`}),(0,F.jsx)(`p`,{className:`text-xs max-w-sm text-zinc-400 dark:text-zinc-500`,children:`Write a SQL query and hit run, or pick an example query to explore your telemetry data with DuckDB.`})]})}),s&&(0,F.jsxs)(Nu.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},className:`relative mx-4 mb-4 `+(te?`mt-0 `:`mt-2 `)+`rounded-2xl border border-zinc-200/60 dark:border-white/[0.06] flex-1 min-h-0 flex flex-col bg-white dark:bg-zinc-800 overflow-hidden`,children:[(0,F.jsx)(`div`,{ref:Ae,className:`overflow-auto flex-1 min-h-0 max-h-full custom-scrollbar`,style:{overscrollBehavior:`none`},children:(0,F.jsxs)(`table`,{className:`text-left`,style:{tableLayout:`fixed`,width:`100%`},children:[(0,F.jsx)(`colgroup`,{children:Ce.map((e,t)=>{let n=Ve[t];return(0,F.jsx)(`col`,{style:{width:n+`px`,minWidth:n+`px`}},e)})}),(0,F.jsx)(`thead`,{ref:ae,className:`sticky top-0 z-30 bg-white dark:bg-zinc-800`,children:(0,F.jsx)(`tr`,{className:`border-b border-zinc-200/60 dark:border-white/[0.06]`,children:Ce.map(e=>(0,F.jsx)(`th`,{draggable:!0,onDragStart:t=>he(t,e),onDragEnd:ge,className:`px-3 py-2 text-[10px] font-medium tracking-wider cursor-grab active:cursor-grabbing select-none transition-colors hover:text-accent whitespace-nowrap`+(D===e?` text-accent`:` text-zinc-400 dark:text-zinc-500`),children:(0,F.jsx)(`span`,{className:`truncate`,children:U9(e)})},e))})}),(0,F.jsx)(`tbody`,{children:(()=>{let e=je.getVirtualItems();if(e.length===0)return null;let t=e[0].start,n=e[e.length-1],r=je.getTotalSize()-(n.start+n.size);return(0,F.jsxs)(F.Fragment,{children:[t>0&&(0,F.jsx)(`tr`,{children:(0,F.jsx)(`td`,{colSpan:Ce.length,style:{height:t,padding:0,border:`none`}})}),e.map(e=>{let t=Ee[e.index];if(!t)return null;if(t.type===`group`){let n=Te.get(t.nodeId);if(!n)return null;let r=n.children.length>0,i=y.has(n.id)||S.has(n.id);return(0,F.jsxs)(`tr`,{"data-index":e.index,className:`group/row cursor-pointer transition-colors duration-150 bg-white dark:bg-zinc-800 hover:bg-zinc-50 dark:hover:bg-[#28282d] border-b border-zinc-200/40 dark:border-white/[0.04]`,onClick:()=>{r?ye(n.id):be(n.id)},children:[(0,F.jsx)(`td`,{className:`py-2 px-3 transition-colors duration-150 group-hover/row:bg-zinc-50 dark:group-hover/row:bg-[#28282d]`,children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,style:{paddingLeft:t.depth*16+`px`},children:[(0,F.jsx)(`div`,{className:`shrink-0 flex items-center justify-center w-4`,children:(0,F.jsx)(`div`,{className:`transition-transform duration-200`+(i?` rotate-90`:``),children:(0,F.jsx)(Md,{size:12,className:`text-zinc-400 dark:text-zinc-500`})})}),(0,F.jsx)(`div`,{className:`text-xs font-medium truncate text-zinc-600 dark:text-zinc-300 min-w-0`,children:n.value===null?(0,F.jsx)(`span`,{className:`italic text-zinc-400 dark:text-zinc-500`,children:`NULL`}):String(n.value)})]})}),Ce.slice(1).map((e,t)=>(0,F.jsx)(`td`,{className:`py-2 border-b border-zinc-200/40 dark:border-white/[0.04] transition-colors duration-150 group-hover/row:bg-zinc-50 dark:group-hover/row:bg-[#28282d]`},t))]},e.key)}if(t.type===`detail`){let n=Te.get(t.nodeId);if(!n)return null;let r=we.get(n.path)?.[t.rowIndex];if(r===void 0)return null;let i=s.rows[r];return i?(0,F.jsx)(`tr`,{"data-index":e.index,ref:je.measureElement,className:`group/row border-b border-zinc-200/40 dark:border-white/[0.04] transition-colors duration-150 hover:bg-zinc-50 dark:hover:bg-[#28282d]`,children:Oe.map((e,n)=>{let r=e===-1?null:i[e],a=De[n],o=typeof r==`number`,s=n===0,c=He.has(a);return(0,F.jsx)(`td`,{className:`py-1.5 px-3 text-[11px] align-top`+(c?` whitespace-pre-wrap break-words leading-relaxed`:` whitespace-nowrap`)+(o?` metric-mono tabular-nums`:``)+(s?` transition-colors duration-150 group-hover/row:bg-zinc-50 dark:group-hover/row:bg-[#28282d]`:``),children:(0,F.jsxs)(`div`,{className:c?``:`flex items-center truncate`,children:[s&&(0,F.jsx)(`span`,{style:{display:`inline-block`,width:(t.depth+1)*16+28+`px`,flexShrink:0}}),r==null?(0,F.jsx)(`span`,{className:`italic text-zinc-400 dark:text-zinc-500`,children:`NULL`}):c&&typeof r==`string`?(0,F.jsx)(G9,{text:r}):(0,F.jsx)(`span`,{className:o?`text-zinc-800 dark:text-zinc-200`:`text-zinc-600 dark:text-zinc-300`,children:K9(r,a)})]})},n)})},e.key):null}if(t.type===`flat`){let n=s.rows[t.rowIndex];return n?(0,F.jsx)(`tr`,{"data-index":e.index,ref:je.measureElement,className:`group/row border-b border-zinc-200/40 dark:border-white/[0.04] transition-colors duration-150 hover:bg-zinc-50 dark:hover:bg-[#28282d]`,children:ke.map((e,t)=>{let r=e===-1?null:n[e],i=Ce[t],a=typeof r==`number`,o=He.has(i);return(0,F.jsx)(`td`,{className:`py-2 px-3 text-xs align-top`+(o?` whitespace-pre-wrap break-words leading-relaxed`:` whitespace-nowrap`)+(a?` metric-mono tabular-nums`:``)+(t===0?` transition-colors duration-150 group-hover/row:bg-zinc-50 dark:group-hover/row:bg-[#28282d]`:``),children:(0,F.jsx)(`div`,{className:o?``:`truncate max-w-[240px]`,children:r==null?(0,F.jsx)(`span`,{className:`italic text-[10px] text-zinc-400 dark:text-zinc-500`,children:`NULL`}):o&&typeof r==`string`?(0,F.jsx)(G9,{text:r}):(0,F.jsx)(`span`,{className:a?`text-zinc-800 dark:text-zinc-200`:`text-zinc-600 dark:text-zinc-300`,children:K9(r,i)})})},t)})},e.key):null}return null}),r>0&&(0,F.jsx)(`tr`,{children:(0,F.jsx)(`td`,{colSpan:Ce.length,style:{height:r,padding:0,border:`none`}})})]})})()})]})}),(0,F.jsx)(Lc,{children:Pe&&(()=>{let e=Te.get(Pe.nodeId);if(!e)return null;let t=e.children.length>0,n=y.has(e.id)||S.has(e.id),r=e.path.split(B9).map((e,t)=>({value:e||null,depth:t}));return(0,F.jsx)(Nu.div,{initial:{opacity:0,y:-8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:{duration:.15,ease:[.4,0,.2,1]},className:`absolute left-0 right-0 z-20 cursor-pointer bg-white/95 dark:bg-zinc-800/95 backdrop-blur-sm border-t border-zinc-200/60 dark:border-white/[0.06] border-b border-zinc-200/60 dark:border-white/[0.06] shadow-sm shadow-zinc-200/40 dark:shadow-black/20`,style:{top:oe-1},onClick:()=>{t?ye(e.id):be(e.id)},children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,style:{paddingLeft:Pe.depth*16+13+`px`},children:[(0,F.jsx)(`div`,{className:`shrink-0 flex items-center justify-center w-4`,children:(0,F.jsx)(`div`,{className:`transition-transform duration-200`+(n?` rotate-90`:``),children:(0,F.jsx)(Md,{size:12,className:`text-zinc-400 dark:text-zinc-500`})})}),r.length>1?(0,F.jsx)(`div`,{className:`flex items-center gap-1 min-w-0 text-xs font-medium truncate`,children:r.map((e,t)=>(0,F.jsxs)(`span`,{className:`contents`,children:[t>0&&(0,F.jsx)(Md,{size:8,className:`text-zinc-300 dark:text-zinc-600 shrink-0`}),(0,F.jsx)(`span`,{className:t===r.length-1?`text-zinc-600 dark:text-zinc-300`:`text-zinc-400 dark:text-zinc-500`,children:e.value===null?(0,F.jsx)(`span`,{className:`italic text-zinc-400 dark:text-zinc-500`,children:`NULL`}):String(e.value)})]},t))}):(0,F.jsx)(`div`,{className:`text-xs font-medium truncate text-zinc-600 dark:text-zinc-300 min-w-0`,children:e.value===null?(0,F.jsx)(`span`,{className:`italic text-zinc-400 dark:text-zinc-500`,children:`NULL`}):String(e.value)})]})},Pe.nodeId)})()}),(0,F.jsx)(`div`,{className:`border-t border-zinc-200/60 dark:border-white/[0.06] px-4 py-2 bg-white dark:bg-zinc-800`,children:(0,F.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,F.jsxs)(`span`,{className:`text-[10px] tabular-nums flex items-center gap-1.5 metric-mono text-zinc-400 dark:text-zinc-500`,children:[l&&(0,F.jsx)(`span`,{className:`inline-block w-3 h-3 rounded-full border-2 border-current border-t-transparent animate-spin`}),s.rowCount.toLocaleString(),` rows`,xe&&xe.length>0&&h.length>0&&!Se?` · `+h.length+` level`+(h.length>1?`s`:``):``]}),(0,F.jsxs)(`button`,{onClick:Fe,className:`shrink-0 px-2 py-1 rounded-lg text-[10px] font-medium text-zinc-400 dark:text-zinc-500 hover:text-accent hover:bg-accent/5 dark:hover:bg-accent/10 transition-colors flex items-center gap-1`,title:`Download current result as CSV`,children:[(0,F.jsx)(Jd,{size:10,weight:`bold`}),`CSV`]})]})})]})]})}function qDe(){let{theme:e,setTheme:t}=_p(),[n,r]=(0,b.useState)(!1),[i,a]=(0,b.useState)(null),[o,s]=(0,b.useState)(null),[c,l]=(0,b.useState)(`dashboard`),u=(0,b.useRef)(null),[d,f]=(0,b.useState)(0),{sessions:p,activeSessionId:m,setActiveSessionId:h,dbLoading:g,hasLoaded:_,dbVersion:v,addSession:y,removeSession:x,clearSessions:S}=pne(r),C=(0,b.useCallback)((e,t)=>{y(e,t),s(null),a(null)},[y]),w=(0,b.useCallback)(()=>{S(),s(null),a(null)},[S]),T=mne(C,r);hne(C,r);let{dragOver:E,pasteFlash:D,fileInputRef:O,handleDrop:k,handleDragOver:ee,handleDragLeave:te,handleFileSelect:ne,loadSample:re}=T,{data:A}=ex(()=>eY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:ie}=ex(()=>tY(m),[v,m],{skip:c===`sql`||!_||g}),j=ie??[],M=(0,b.useMemo)(()=>ie?.map(e=>({modelId:e.modelId,provider:e.provider,callCount:e.callCount,totalTokens:e.totalTokens,energyCostUsd:e.energyCostUsd,energyJoules:e.energyJoules,blendedCostUsd:e.blendedCostUsd,costSource:e.costSource}))??[],[ie]),{data:ae}=ex(()=>cY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),oe=(0,b.useMemo)(()=>ae?{cacheThreshold:ae.cacheThreshold,lowContext:ae.lowContext,slowTtft:ae.slowTtft,fastTtft:ae.fastTtft,highNewInputRatio:ae.highNewInputRatio,anomalyInputThreshold:ae.anomalyInputThreshold,cacheDropMinTotal:ae.cacheDropMinTotal,cacheDropMinInput:ae.cacheDropMinInput,highInputRatio:ae.highInputRatio,highInputSeverityToken:ae.highInputSeverityToken,stallCountThreshold:ae.stallCountThreshold,stallMsSeverity:ae.stallMsSeverity}:void 0,[ae]),{data:se}=ex(()=>rY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:N}=ex(()=>{if(p.size<=1||m)return Promise.resolve(null);let e=new Map;for(let[t,n]of p.entries())e.set(t,n.fileName??null);return dY(e)},[v,p.size,m],{skip:c===`sql`||!_||g}),{data:ce}=ex(()=>aY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:le}=ex(()=>iY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:ue}=ex(()=>oY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:de}=ex(()=>ae?sY(ae,m,o):Promise.resolve([]),[v,m,o,ae],{skip:c===`sql`||!_||g||!ae}),{data:fe}=ex(()=>ae?lY(ae,m,o):Promise.resolve([]),[v,m,o,ae],{skip:c===`sql`||!_||g||!ae}),{data:pe}=ex(()=>ae?nY(ae,m,o):Promise.resolve([]),[v,m,o,ae],{skip:c===`sql`||!_||g||!ae}),{data:me}=ex(()=>uY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),he=(0,b.useCallback)(()=>{if(!N)return;let e=np({...N,sessions:N.sessions.map(e=>({...e,models:[],timeRange:{start:e.timeRangeStart,end:e.timeRangeEnd}})),timeRange:{start:N.timeRangeStart,end:N.timeRangeEnd}}),t=new Blob([e],{type:`text/csv;charset=utf-8`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`pi-tps-sessions-${new Date().toISOString().slice(0,10)}.csv`,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3)},[N]),ge=(0,b.useCallback)(e=>a(e),[]),_e=(0,b.useCallback)(e=>h(e),[h]),ve=(0,b.useCallback)(()=>{},[]);(0,b.useEffect)(()=>{let e=u.current;if(!e)return;let t=new ResizeObserver(([e])=>{f(Math.round(e.borderBoxSize?.[0]?.blockSize??e.contentRect.height))});return t.observe(e),()=>t.disconnect()},[]);let ye=(0,b.useCallback)(e=>up(p.get(e)?.events??[]).length,[p]);return(0,F.jsxs)(`div`,{className:`h-dvh flex flex-col overflow-hidden bg-[#fafafa] dark:bg-[#18181b]`,onDrop:k,onDragOver:ee,onDragLeave:te,children:[(0,F.jsx)(`input`,{ref:O,type:`file`,accept:`.jsonl,.json,text/plain`,multiple:!0,className:`hidden`,onChange:ne}),(0,F.jsx)(`header`,{ref:u,className:`sticky top-0 z-40 bg-[#fafafa] dark:bg-[#18181b] border-b border-zinc-200/60 dark:border-white/[0.08]`,children:(0,F.jsxs)(`div`,{className:`max-w-[1600px] mx-auto px-4 sm:px-6 py-3 sm:py-4 flex flex-wrap items-center justify-between gap-y-2`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,F.jsx)(`div`,{className:`p-2 bg-accent/10 dark:bg-accent/15 rounded-xl`,children:(0,F.jsx)(nf,{weight:`bold`,size:22,className:`text-accent`})}),(0,F.jsxs)(`div`,{className:`hidden sm:block`,children:[(0,F.jsx)(`h1`,{className:`text-lg font-semibold tracking-tight text-zinc-900 dark:text-zinc-300 leading-none`,children:`pi-tps`}),(0,F.jsx)(`p`,{className:`text-[11px] text-zinc-400 dark:text-zinc-400 font-medium tracking-wide mt-0.5`,children:`TELEMETRY INSPECTOR`})]})]}),(0,F.jsxs)(`div`,{className:`flex flex-row items-center gap-1.5 min-w-0`,children:[p.size>0&&(0,F.jsxs)(`div`,{className:`flex items-center gap-1 bg-white/60 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-lg p-0.5`,children:[(0,F.jsx)(`button`,{onClick:()=>l(`dashboard`),className:`px-2.5 py-1.5 rounded-md text-[11px] font-medium transition-all duration-200 ${c===`dashboard`?`bg-accent/10 text-accent dark:bg-accent/15`:`text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300`}`,children:`Dashboard`}),(0,F.jsxs)(`button`,{onClick:()=>l(`sql`),className:`flex items-center gap-1 px-2.5 py-1.5 rounded-md text-[11px] font-medium transition-all duration-200 ${c===`sql`?`bg-accent/10 text-accent dark:bg-accent/15`:`text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300`}`,children:[(0,F.jsx)(Hd,{size:11,weight:`bold`}),`SQL`]})]}),(0,F.jsx)(`div`,{className:`flex items-center gap-1 bg-white/60 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-lg p-0.5`,children:(0,F.jsxs)(`button`,{onClick:()=>O.current?.click(),className:`flex items-center gap-1 px-2.5 py-1.5 rounded-md text-[11px] font-medium transition-all duration-200 text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-white/[0.06]`,title:`Upload telemetry files`,children:[(0,F.jsx)(Vf,{size:12,weight:`bold`}),`Upload`]})}),(0,F.jsx)(AY,{theme:e,setTheme:t}),j.length>0&&(0,F.jsx)(`div`,{className:`flex items-center bg-white/60 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-lg p-0.5 min-w-0`,children:(0,F.jsxs)(`div`,{className:`relative min-w-0`,children:[(0,F.jsxs)(`select`,{value:o??``,onChange:e=>s(e.target.value||null),className:`appearance-none bg-transparent dark:bg-transparent border-0 rounded-md pl-2 pr-5 py-1.5 text-[11px] font-medium text-zinc-600 dark:text-zinc-300 focus:outline-none focus:ring-1 focus:ring-accent/30 max-w-[10rem] truncate`,children:[(0,F.jsx)(`option`,{value:``,children:`All models`}),j.map(e=>(0,F.jsxs)(`option`,{value:e.modelId,children:[`(`,e.provider,`) `,e.modelId.split(`/`)?.pop()]},e.modelId))]}),(0,F.jsx)(`svg`,{className:`absolute right-1.5 top-1/2 -translate-y-1/2 w-2.5 h-2.5 text-zinc-400 dark:text-zinc-500 pointer-events-none`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,viewBox:`0 0 24 24`,children:(0,F.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M19 9l-7 7-7-7`})})]})})]})]})}),p.size>0&&(0,F.jsx)(`div`,{style:{top:d?`${d}px`:0},className:`sticky z-30 bg-[#fafafa] dark:bg-[#18181b] border-b border-zinc-200/40 dark:border-white/[0.06]`,children:(0,F.jsxs)(`div`,{className:`max-w-[1600px] mx-auto px-4 sm:px-6 flex items-center gap-2`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2 overflow-x-auto scrollbar-hide py-2 flex-1 min-w-0`,children:[(0,F.jsx)(ef,{size:14,className:`text-zinc-400 dark:text-zinc-500 shrink-0`,weight:`bold`}),(0,F.jsxs)(`button`,{onClick:()=>h(null),className:`shrink-0 px-2 py-1 rounded-lg text-[11px] font-medium ${m===null?`bg-accent/10 text-accent dark:bg-accent/15`:`text-zinc-500 dark:text-zinc-400 hover:text-zinc-700 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-white/[0.06]`}`,children:[`All (`,p.size,`)`]}),Array.from(p.entries()).map(([e,t])=>{let n=ye(e),r=t.fileName?t.fileName.replace(/\.(jsonl|json)$/,``):e.length>16?e.slice(0,16)+`…`:e;return(0,F.jsxs)(`div`,{className:`shrink-0 flex items-center gap-1 px-2 py-1 rounded-lg text-[11px] font-medium cursor-pointer ${m===e?`bg-accent/10 text-accent dark:bg-accent/15`:`text-zinc-500 dark:text-zinc-400 hover:text-zinc-700 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-white/[0.06]`}`,onClick:()=>h(m===e?null:e),children:[(0,F.jsx)(`span`,{className:`truncate max-w-[12rem]`,children:r}),(0,F.jsxs)(`span`,{className:`text-[9px] metric-mono text-zinc-400 dark:text-zinc-500`,children:[n,` req`]}),(0,F.jsx)(`button`,{onClick:t=>{t.stopPropagation(),x(e)},className:`ml-0.5 p-0.5 rounded hover:bg-zinc-200/60 dark:hover:bg-white/[0.08] text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 transition-colors`,title:`Remove session`,children:(0,F.jsx)(Gf,{size:10,weight:`bold`})})]},e)})]}),(0,F.jsx)(`div`,{className:`shrink-0 flex items-center gap-1.5 py-2 border-l border-zinc-200/40 dark:border-white/[0.06] pl-3 ml-1`,children:(0,F.jsx)(`button`,{onClick:w,className:`shrink-0 px-2 py-1 rounded-lg text-[10px] font-medium text-zinc-400 dark:text-zinc-500 hover:text-ember hover:bg-ember/5 dark:hover:bg-ember/10 transition-colors`,children:`Clear all`})})]})}),(0,F.jsx)(`div`,{className:`flex-1 min-h-0 flex flex-col px-4 sm:px-6 py-6 ${c===`sql`&&p.size>0?``:`hidden`}`,children:(0,F.jsx)(KDe,{dbVersion:v,activeSessionId:m})}),(0,F.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto ${c===`sql`&&p.size>0?`hidden`:``}`,children:(_||g||n)&&!A?(0,F.jsx)(`div`,{className:`flex items-center justify-center min-h-[60dvh]`,children:(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,F.jsx)(`div`,{className:`w-10 h-10 border-2 border-zinc-200 dark:border-white/[0.06] border-t-accent rounded-full animate-spin`}),(0,F.jsx)(`p`,{className:`text-sm text-zinc-400 dark:text-zinc-400 font-medium`,children:`Loading telemetry…`})]})}):!_&&!A?(0,F.jsx)(Nu.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`flex items-center justify-center min-h-[70dvh] px-4 sm:px-6`,children:(0,F.jsxs)(`div`,{className:`max-w-lg w-full text-center p-12 rounded-[2.5rem] border-2 border-dashed transition-colors ${E?`border-accent bg-accent/5 dark:border-accent dark:bg-accent/10`:`border-zinc-200 bg-white dark:border-white/[0.06] dark:bg-zinc-800/40`}`,children:[(0,F.jsx)(`div`,{className:`w-16 h-16 mx-auto mb-6 bg-zinc-50 dark:bg-white/[0.06] rounded-3xl flex items-center justify-center`,children:(0,F.jsx)(Xd,{size:28,className:`text-zinc-300 dark:text-zinc-400`,weight:`duotone`})}),(0,F.jsx)(`h2`,{className:`text-xl font-semibold text-zinc-700 dark:text-zinc-300 mb-2`,children:`Drop, paste, or import telemetry files`}),(0,F.jsxs)(`p`,{className:`text-sm text-zinc-400 dark:text-zinc-400 mb-6 leading-relaxed`,children:[`Drag and drop `,(0,F.jsx)(`code`,{className:`metric-mono text-xs bg-zinc-100 dark:bg-white/[0.06] px-1.5 py-0.5 rounded`,children:`.jsonl`}),` files (one or many), or paste JSONL contents directly (`,(0,F.jsx)(`kbd`,{className:`metric-mono text-[11px] bg-zinc-100 dark:bg-white/[0.06] px-1.5 py-0.5 rounded border border-zinc-200/60 dark:border-white/[0.06]`,children:`⌘V`}),`). Supports telemetry exports from `,(0,F.jsx)(`code`,{className:`metric-mono text-xs bg-zinc-100 dark:bg-white/[0.06] px-1.5 py-0.5 rounded`,children:`/tps-export`}),` and raw session files from `,(0,F.jsx)(`code`,{className:`metric-mono text-xs bg-zinc-100 dark:bg-white/[0.06] px-1.5 py-0.5 rounded`,children:`~/.pi/agent/sessions`}),`.`]}),(0,F.jsxs)(`a`,{href:`https://github.com/monotykamary/pi-tps`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-start gap-2.5 text-left px-4 py-3 rounded-xl border border-accent/15 dark:border-accent/20 bg-accent/[0.04] dark:bg-accent/10 hover:bg-accent/[0.07] dark:hover:bg-accent/[0.14] transition-colors mb-8`,children:[(0,F.jsx)(lf,{size:16,className:`text-accent shrink-0 mt-0.5`,weight:`bold`}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`p`,{className:`text-xs font-semibold text-accent leading-snug`,children:`Get the most out of your analytics`}),(0,F.jsxs)(`p`,{className:`text-[11px] text-zinc-500 dark:text-zinc-400 leading-relaxed mt-0.5`,children:[`Use `,(0,F.jsx)(`span`,{className:`font-medium text-zinc-700 dark:text-zinc-300`,children:`pi-tps`}),` to hook into pi and stream rich telemetry — TPS, TTFT, energy, cache hits, and more — straight to this inspector.`]})]})]}),(0,F.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-center justify-center gap-3`,children:[(0,F.jsxs)(`button`,{onClick:()=>O.current?.click(),className:`px-6 py-2.5 bg-white dark:bg-zinc-800/50 border border-zinc-200/60 dark:border-white/[0.08] text-zinc-700 dark:text-zinc-300 text-sm font-medium rounded-xl hover:bg-zinc-50 dark:hover:bg-white/[0.06] transition-colors active:scale-[0.98] active:translate-y-[1px] flex items-center gap-2`,children:[(0,F.jsx)(Vf,{size:16,weight:`bold`}),`Upload Files`]}),(0,F.jsx)(`button`,{onClick:re,className:`px-6 py-2.5 bg-accent text-white text-sm font-medium rounded-xl hover:bg-accent-dark transition-colors active:scale-[0.98] active:translate-y-[1px]`,children:`Load Sample Data`})]}),D&&(0,F.jsxs)(Nu.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0},className:`flex items-center gap-2 justify-center text-sm text-moss font-medium`,children:[(0,F.jsx)(Id,{size:16,weight:`bold`}),`Pasted — loading telemetry…`]})]})},`empty`):(0,F.jsxs)(`div`,{className:`max-w-[1600px] mx-auto px-4 sm:px-6 py-8 space-y-8 rounded-[2rem] ${E?`border-2 border-dashed border-accent bg-accent/5 dark:border-accent dark:bg-accent/10`:``}`,children:[A&&(0,F.jsxs)(Nu.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.2},className:`grid grid-cols-2 md:grid-cols-5 lg:grid-cols-9 gap-2`,children:[(0,F.jsx)(ax,{icon:Cf,label:`Requests`,value:Jf(A.totalCalls),tooltip:(0,F.jsx)(vne,{total:A.totalCalls,models:M,avgTokensPerCall:A.avgTokensPerCall,stalledCalls:A.stalledCalls,cachedCalls:A.cachedCalls,fastCalls:A.fastCalls})}),(0,F.jsx)(ax,{icon:jf,label:`Total Time`,value:qf(A.wallClockMs),tooltip:(0,F.jsx)(yne,{wallClockMs:A.wallClockMs,totalTimeMs:A.totalTimeMs,generationMs:A.totalGenerationMs})}),(0,F.jsx)(ox,{icon:nf,label:`Avg TPS`,activeTps:A.avgTps,wallTps:A.avgWallTps,lossPct:A.tpsLoss,mode:`avg`}),(0,F.jsx)(ox,{icon:Ed,label:`Wtd TPS`,activeTps:A.weightedTps,wallTps:A.weightedWallTps,lossPct:A.weightedTpsLoss,accent:!0,mode:`weighted`}),(0,F.jsx)(ax,{icon:Rd,label:`Avg TTFT`,value:qf(Math.round(A.avgTtft)),tooltip:(0,F.jsx)(bne,{avgTtft:A.avgTtft,p50:A.ttftP50,p75:A.ttftP75,p90:A.ttftP90,p99:A.ttftP99,min:A.minTtft,max:A.maxTtft})}),(0,F.jsx)(ax,{icon:Qd,label:`Stalls (ITL)`,value:Jf(A.totalStallCount),accent:!0,tooltip:(0,F.jsx)(xne,{count:A.totalStallCount,ms:A.totalStallMs,totalTimeMs:A.totalTimeMs})}),(0,F.jsx)(ax,{icon:Bd,label:`Cost`,value:Yf(A.totalCostUsd),tooltip:(0,F.jsx)(Sne,{totalCost:A.totalCostUsd,energyCost:A.energyCostUsd,costSource:A.costSource,models:M,totalTokens:A.totalTokens})}),(()=>{let e=A.totalEnergyJoules===null?null:ep(A.totalEnergyJoules);return(0,F.jsx)(ax,{icon:pf,label:`Energy`,value:e?e.value:`-`,unit:e?e.unit:void 0,tooltip:(0,F.jsx)(Cne,{joules:A.totalEnergyJoules,energyCost:A.energyCostUsd,models:M,totalCalls:A.totalCalls})})})(),(0,F.jsx)(ax,{icon:sf,label:`Tokens`,value:Jf(A.totalTokens),tooltip:(0,F.jsx)(wne,{input:A.totalInput,output:A.totalOutput,cacheRead:A.totalCacheRead,cacheWrite:A.totalCacheWrite,total:A.totalTokens,totalCost:A.totalCostUsd})})]}),N&&N.sessionCount>1&&(0,F.jsxs)(Nu.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.2},className:`bg-white/80 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-2xl overflow-hidden`,children:[(0,F.jsxs)(`div`,{className:`px-4 py-3 border-b border-zinc-200/40 dark:border-white/[0.06] flex items-center gap-2`,children:[(0,F.jsx)(Tf,{size:14,className:`text-accent`,weight:`bold`}),(0,F.jsx)(`h2`,{className:`text-sm font-semibold text-zinc-800 dark:text-zinc-300`,children:`Sessions Overview`}),(0,F.jsxs)(`span`,{className:`ml-auto text-[10px] metric-mono text-zinc-400 dark:text-zinc-500`,children:[N.sessionCount,` sessions · `,Jf(N.totalCalls),` requests`]}),(0,F.jsxs)(`button`,{onClick:he,className:`shrink-0 ml-2 px-2 py-1 rounded-lg text-[10px] font-medium text-zinc-400 dark:text-zinc-500 hover:text-accent hover:bg-accent/5 dark:hover:bg-accent/10 transition-colors flex items-center gap-1`,title:`Export per-session stats as CSV`,children:[(0,F.jsx)(Jd,{size:10,weight:`bold`}),`CSV`]})]}),(0,F.jsx)(`div`,{className:`overflow-x-auto`,style:{contain:`content`},children:(0,F.jsxs)(`table`,{className:`w-full text-[11px]`,children:[(0,F.jsx)(`thead`,{children:(0,F.jsxs)(`tr`,{className:`text-[9px] uppercase tracking-wider text-zinc-400 dark:text-zinc-500 border-b border-zinc-200/30 dark:border-white/[0.04]`,children:[(0,F.jsx)(`th`,{className:`text-left px-4 py-2 font-medium`,children:`Session`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Requests`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Avg TPS`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Wtd TPS`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Avg TTFT`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Cost`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Energy`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Tokens`})]})}),(0,F.jsx)(`tbody`,{children:N.sessions.map((e,t)=>(0,F.jsxs)(`tr`,{className:`border-b border-zinc-200/20 dark:border-white/[0.03] hover:bg-zinc-50 dark:hover:bg-white/[0.02] cursor-pointer ${t%2==0?`bg-zinc-50/30 dark:bg-white/[0.01]`:``}`,onClick:()=>h(e.sessionId),children:[(0,F.jsx)(`td`,{className:`px-4 py-2 font-medium text-zinc-700 dark:text-zinc-300 max-w-[16rem] truncate`,children:e.fileName||e.sessionId.length>20?e.fileName||e.sessionId.slice(0,20)+`…`:e.sessionId}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:Jf(e.totalCalls,0)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:Zf(e.avgTps)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-accent font-medium`,children:Zf(e.weightedTps)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:qf(Math.round(e.avgTtft))}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:Yf(e.totalCostUsd)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:e.totalEnergyJoules===null?`-`:Qf(e.totalEnergyJoules)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:Jf(e.totalTokens)})]},e.sessionId))}),(0,F.jsx)(`tfoot`,{children:(0,F.jsxs)(`tr`,{className:`border-t border-zinc-200/50 dark:border-white/[0.06] font-semibold text-zinc-800 dark:text-zinc-200 bg-zinc-100/40 dark:bg-white/[0.03]`,children:[(0,F.jsxs)(`td`,{className:`px-4 py-2.5`,children:[`Total (`,N.sessionCount,`)`]}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:Jf(N.totalCalls,0)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:Zf(N.avgTps)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono text-accent`,children:Zf(N.weightedTps)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:qf(Math.round(N.avgTtft))}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:Yf(N.totalCostUsd)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:N.totalEnergyJoules===null?`-`:Qf(N.totalEnergyJoules)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:Jf(N.totalTokens)})]})})]})})]}),(0,F.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-12 gap-6`,children:[(0,F.jsxs)(`div`,{className:`lg:col-span-8 space-y-6`,children:[(0,F.jsx)(Jq,{buckets:se??[],onBucketClick:ve}),(0,F.jsx)(Zq,{data:pe??[],onPointClick:ge,thresholds:oe??Kf}),N&&N.sessionCount>1&&(0,F.jsx)(EY,{multiSummary:N,onSessionClick:_e}),(0,F.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,F.jsx)(CY,{bins:ue?.bins??[],fastCount:ue?.fastCount??0,slowCount:ue?.slowCount??0,percentiles:ue?.percentiles??[]}),(0,F.jsx)(qJ,{overall:ce?.overall??[],overTime:ce?.overTime??[],hitRate:ce?.hitRate??0})]}),(0,F.jsx)(eJ,{data:le??[]})]}),(0,F.jsxs)(`div`,{className:`lg:col-span-4 flex flex-col gap-6`,children:[M.length>1&&(0,F.jsx)(OY,{models:M,avgTps:A?.avgTps??0,weightedTps:A?.weightedTps??0,totalCalls:A?.totalCalls??0}),(0,F.jsx)(nJ,{stats:de??[]}),(0,F.jsx)(iJ,{anomalies:fe??[]}),(0,F.jsx)(IJ,{timeline:me??[],selectedId:i,onSelect:ge,thresholds:oe??Kf})]})]}),(0,F.jsx)(xY,{dbVersion:v,activeSessionId:m,selectedModel:o,ready:_&&!g})]})})]})}(0,x.createRoot)(document.getElementById(`root`)).render((0,F.jsx)(b.StrictMode,{children:(0,F.jsx)(qDe,{})}));
1051
+ `),n=new Blob([t],{type:`text/csv;charset=utf-8`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`query-result-${new Date().toISOString().slice(0,19).replace(/[T:]/g,`-`)}.csv`,i.click(),URL.revokeObjectURL(r)},[s,De]),Ie=(0,b.useCallback)(()=>{i(``),o(``),c(null),m(null),g([]),x(new Set),C(new Set),ee(1),ne(!1),M.current&&M.current.dispatch({changes:{from:0,to:M.current.state.doc.length,insert:``}})},[]),Le=(0,b.useCallback)(e=>{i(e),M.current&&M.current.dispatch({changes:{from:0,to:M.current.state.doc.length,insert:e}})},[]),Re=(0,b.useMemo)(()=>{if(!r.trim())return``;let e=r.replace(/\n+/g,` `).replace(/\s+/g,` `).trim();return e.length>80?e.slice(0,77)+`...`:e},[r]),ze=(0,b.useCallback)(()=>ne(!1),[]),Be=(0,b.useCallback)(()=>ne(!0),[]),{colWidths:Ve,longTextCols:He}=(0,b.useMemo)(()=>{if(!s)return{colWidths:[],longTextCols:new Set};let e=s.rows.length<=500?1:Math.ceil(s.rows.length/500),t=Ce.map(e=>s.columns.indexOf(e)),n=[];for(let r=0;r<s.rows.length;r+=e){let e=s.rows[r];n.push(t.map(t=>t===-1?null:e[t]))}let r=EDe(Ce,n),i=MDe(Ce,n,r);if(xe&&xe.length>0&&h.length>0&&!Se&&i.length>0){let e=0;function t(n,r){for(let i of n){let n=r*16,a=(i.value===null?`NULL`:String(i.value)).length*8+8;e=Math.max(e,n+48+a),i.children.length>0&&t(i.children,r+1)}}t(xe,0),i[0]=Math.max(i[0],e)}return{colWidths:i,longTextCols:r}},[s,Ce,xe,h,Se]);return(0,F.jsxs)(`div`,{className:`bg-white/80 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-2xl overflow-hidden flex flex-col min-h-0 h-full`,children:[(0,F.jsxs)(`div`,{onClick:()=>te?ze():s?Be():void 0,className:`flex items-center gap-2 px-4 py-3 border-b border-zinc-200/60 dark:border-white/[0.06] shrink-0 transition-colors duration-150 ${s?`cursor-pointer hover:bg-zinc-50 dark:hover:bg-white/[0.04]`:``}`,children:[(0,F.jsx)(Hd,{size:16,className:`text-accent shrink-0`,weight:`bold`}),(0,F.jsx)(`h2`,{className:`text-sm font-semibold text-zinc-800 dark:text-zinc-300 shrink-0`,children:`SQL Playground`}),(0,F.jsx)(`span`,{className:`text-[10px] metric-mono text-zinc-400 dark:text-zinc-500 shrink-0`,children:`DuckDB WASM · in-browser`}),te&&Re&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`text-zinc-300 dark:text-zinc-600 shrink-0`,children:`·`}),(0,F.jsx)(`code`,{className:`text-[11px] font-mono text-zinc-500 dark:text-zinc-400 truncate min-w-0`,children:Re})]}),(0,F.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5 shrink-0`,children:[te&&(0,F.jsx)(`button`,{onClick:ze,className:`p-1 rounded-md transition-colors hover:bg-zinc-100 dark:hover:bg-white/[0.06] text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300`,title:`Expand editor`,children:(0,F.jsx)(Ad,{size:14})}),!te&&s&&(0,F.jsx)(`button`,{onClick:Be,className:`p-1 rounded-md transition-colors hover:bg-zinc-100 dark:hover:bg-white/[0.06] text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300`,title:`Collapse editor`,children:(0,F.jsx)(Ad,{size:14,className:`rotate-180`})})]})]}),(0,F.jsx)(Nu.div,{initial:!1,animate:te?{height:0,opacity:0}:{height:re,opacity:1},transition:{duration:.25,ease:[.4,0,.2,1]},className:`overflow-hidden shrink-0`,children:(0,F.jsxs)(`div`,{ref:j,className:`px-4 pt-3 space-y-2`,children:[(0,F.jsxs)(`div`,{className:`relative rounded-2xl border border-zinc-200/60 dark:border-white/[0.06] bg-white/60 dark:bg-zinc-800/40 overflow-hidden transition-colors focus-within:border-accent/40 dark:focus-within:border-accent/40`,children:[(0,F.jsx)(`div`,{ref:ie,className:`min-h-[120px] max-h-[280px] overflow-auto`}),(0,F.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-t border-zinc-100 dark:border-white/[0.04]`,children:[(0,F.jsxs)(`span`,{className:`text-[10px] metric-mono text-zinc-400 dark:text-zinc-500`,children:[k,`L`]}),(0,F.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[r.trim()&&!s&&(0,F.jsx)(`button`,{onClick:Ie,className:`p-1.5 rounded-lg transition-colors hover:bg-zinc-100 dark:hover:bg-white/[0.06] active:scale-[0.97] text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300`,title:`Clear`,children:(0,F.jsx)(Gf,{size:12})}),(0,F.jsxs)(`button`,{onClick:()=>le.current(),disabled:l||!r.trim(),className:`inline-flex items-center justify-center gap-1 px-2.5 py-1 rounded-lg text-[10px] font-medium transition-all duration-200 active:scale-[0.97] disabled:opacity-30 disabled:cursor-not-allowed bg-accent text-white hover:bg-accent/90`,children:[l?(0,F.jsx)(`span`,{className:`inline-block w-3 h-3 rounded-full border-2 border-current border-t-transparent animate-spin`}):(0,F.jsx)(xf,{size:12,weight:`fill`}),`Run`]}),(0,F.jsx)(`span`,{className:`text-[10px] metric-mono text-zinc-400 dark:text-zinc-500 ml-1`,children:`⌘↵`})]})]})]}),(0,F.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:z9.map(e=>(0,F.jsx)(`button`,{onClick:()=>{Le(e.sql),o(e.sql),g([]),x(new Set),C(new Set),m(null),fe(e.sql,t)},className:`px-3 py-1.5 text-[11px] font-medium rounded-lg border border-zinc-200/60 dark:border-white/[0.06] bg-white/60 dark:bg-zinc-800/40 text-zinc-500 dark:text-zinc-400 hover:border-accent/30 hover:text-accent dark:hover:border-accent/40 dark:hover:text-accent-light transition-all duration-200 active:scale-[0.97]`,children:e.label},e.label))}),(0,F.jsx)(`div`,{onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,T||E(!0)},onDragLeave:e=>{let t=e.currentTarget.getBoundingClientRect();(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&E(!1)},onDrop:_e,className:`rounded-xl border-2 border-dashed h-[36px] overflow-hidden transition-all duration-200 ${T?`scale-[1.005]`:``} ${w.length>0||T?`border-accent/40 bg-accent/5 dark:bg-accent/10`:`border-zinc-200/60 dark:border-white/[0.06] bg-white/40 dark:bg-zinc-800/20`}`,children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2 px-3 h-full`,children:[(0,F.jsx)(Kd,{size:12,className:w.length>0?`text-accent/60`:`text-zinc-400 dark:text-zinc-500 opacity-40`}),w.length>0?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`text-[10px] font-medium shrink-0 text-accent`,children:`Grouped by`}),(0,F.jsx)(Lc,{children:w.map(e=>(0,F.jsxs)(Nu.span,{initial:{opacity:0,scale:.9},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.9},className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-[10px] border border-accent/30 bg-accent/10 text-accent font-mono`,children:[U9(e),(0,F.jsx)(`button`,{onClick:()=>ve(e),className:`rounded p-0.5 opacity-50 hover:opacity-100 transition-opacity`,children:(0,F.jsx)(Gf,{size:10})})]},e))})]}):(0,F.jsx)(`span`,{className:`text-[10px] text-zinc-400 dark:text-zinc-500`,children:s?`Drag column headers here to group and aggregate`:`Run a query, then drag column headers into this zone to group`})]})}),p&&(0,F.jsx)(Nu.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},className:`p-3 rounded-xl border border-red-200/40 dark:border-red-500/20 bg-red-50/50 dark:bg-red-500/5`,children:(0,F.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,F.jsx)(`div`,{className:`w-5 h-5 rounded-full flex items-center justify-center shrink-0 mt-0.5 bg-red-500/10`,children:(0,F.jsx)(Gf,{size:12,weight:`bold`,className:`text-red-500`})}),(0,F.jsxs)(`div`,{className:`min-w-0`,children:[(0,F.jsx)(`p`,{className:`text-xs font-medium mb-0.5 text-red-600 dark:text-red-400`,children:`Query Error`}),(0,F.jsx)(`pre`,{className:`text-[11px] whitespace-pre-wrap break-all font-mono text-zinc-600 dark:text-zinc-300`,children:p})]})]})})]})}),te&&s&&(0,F.jsx)(`div`,{onDragOver:e=>{e.preventDefault(),e.dataTransfer.dropEffect=`move`,T||E(!0)},onDragLeave:e=>{let t=e.currentTarget.getBoundingClientRect();(e.clientX<t.left||e.clientX>t.right||e.clientY<t.top||e.clientY>t.bottom)&&E(!1)},onDrop:_e,className:`rounded-xl border-2 border-dashed mx-4 mt-2 mb-2 h-[36px] overflow-hidden transition-all duration-200 ${T?`scale-[1.005]`:``} ${w.length>0||T?`border-accent/40 bg-accent/5 dark:bg-accent/10`:`border-zinc-200/60 dark:border-white/[0.06] bg-white/40 dark:bg-zinc-800/20`}`,children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2 px-3 h-full`,children:[(0,F.jsx)(Kd,{size:12,className:w.length>0?`text-accent/60`:`text-zinc-400 dark:text-zinc-500 opacity-40`}),w.length>0?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`span`,{className:`text-[10px] font-medium shrink-0 text-accent`,children:`Grouped by`}),w.map(e=>(0,F.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded text-[10px] border border-accent/30 bg-accent/10 text-accent font-mono`,children:[U9(e),(0,F.jsx)(`button`,{onClick:()=>ve(e),className:`rounded p-0.5 opacity-50 hover:opacity-100 transition-opacity`,children:(0,F.jsx)(Gf,{size:10})})]},e))]}):(0,F.jsx)(`span`,{className:`text-[10px] text-zinc-400 dark:text-zinc-500`,children:`Drag column headers here to group and aggregate`})]})}),l&&!s&&(0,F.jsxs)(`div`,{className:`m-4 rounded-2xl overflow-hidden border border-zinc-200/60 dark:border-white/[0.06] flex-1 min-h-0`,children:[(0,F.jsx)(`div`,{className:`px-3 py-2 border-b border-zinc-200/40 dark:border-white/[0.04] bg-white dark:bg-zinc-800`,children:(0,F.jsx)(`div`,{className:`h-3 w-32 rounded bg-zinc-200/60 dark:bg-zinc-700/40 animate-pulse`})}),Array.from({length:5}).map((e,t)=>(0,F.jsx)(zDe,{cols:4},t))]}),!s&&!l&&!p&&!te&&(0,F.jsx)(`div`,{className:`m-4 rounded-2xl border border-zinc-200/60 dark:border-white/[0.06] p-10 flex-1 min-h-0 flex flex-col items-center justify-center bg-white/40 dark:bg-zinc-800/20`,children:(0,F.jsxs)(`div`,{className:`flex flex-col items-center justify-center text-center`,children:[(0,F.jsx)(`div`,{className:`w-10 h-10 rounded-xl flex items-center justify-center mb-3 bg-zinc-100 dark:bg-white/[0.04]`,children:(0,F.jsx)(kf,{size:20,className:`text-zinc-400 dark:text-zinc-500`})}),(0,F.jsx)(`p`,{className:`text-sm font-medium mb-0.5 text-zinc-600 dark:text-zinc-300`,children:`No data yet`}),(0,F.jsx)(`p`,{className:`text-xs max-w-sm text-zinc-400 dark:text-zinc-500`,children:`Write a SQL query and hit run, or pick an example query to explore your telemetry data with DuckDB.`})]})}),s&&(0,F.jsxs)(Nu.div,{initial:{opacity:0,y:8},animate:{opacity:1,y:0},className:`relative mx-4 mb-4 `+(te?`mt-0 `:`mt-2 `)+`rounded-2xl border border-zinc-200/60 dark:border-white/[0.06] flex-1 min-h-0 flex flex-col bg-white dark:bg-zinc-800 overflow-hidden`,children:[(0,F.jsx)(`div`,{ref:Ae,className:`overflow-auto flex-1 min-h-0 max-h-full custom-scrollbar`,style:{overscrollBehavior:`none`},children:(0,F.jsxs)(`table`,{className:`text-left`,style:{tableLayout:`fixed`,width:`100%`},children:[(0,F.jsx)(`colgroup`,{children:Ce.map((e,t)=>{let n=Ve[t];return(0,F.jsx)(`col`,{style:{width:n+`px`,minWidth:n+`px`}},e)})}),(0,F.jsx)(`thead`,{ref:ae,className:`sticky top-0 z-30 bg-white dark:bg-zinc-800`,children:(0,F.jsx)(`tr`,{className:`border-b border-zinc-200/60 dark:border-white/[0.06]`,children:Ce.map(e=>(0,F.jsx)(`th`,{draggable:!0,onDragStart:t=>he(t,e),onDragEnd:ge,className:`px-3 py-2 text-[10px] font-medium tracking-wider cursor-grab active:cursor-grabbing select-none transition-colors hover:text-accent whitespace-nowrap`+(D===e?` text-accent`:` text-zinc-400 dark:text-zinc-500`),children:(0,F.jsx)(`span`,{className:`truncate`,children:U9(e)})},e))})}),(0,F.jsx)(`tbody`,{children:(()=>{let e=je.getVirtualItems();if(e.length===0)return null;let t=e[0].start,n=e[e.length-1],r=je.getTotalSize()-(n.start+n.size);return(0,F.jsxs)(F.Fragment,{children:[t>0&&(0,F.jsx)(`tr`,{children:(0,F.jsx)(`td`,{colSpan:Ce.length,style:{height:t,padding:0,border:`none`}})}),e.map(e=>{let t=Ee[e.index];if(!t)return null;if(t.type===`group`){let n=Te.get(t.nodeId);if(!n)return null;let r=n.children.length>0,i=y.has(n.id)||S.has(n.id);return(0,F.jsxs)(`tr`,{"data-index":e.index,className:`group/row cursor-pointer transition-colors duration-150 bg-white dark:bg-zinc-800 hover:bg-zinc-50 dark:hover:bg-[#28282d] border-b border-zinc-200/40 dark:border-white/[0.04]`,onClick:()=>{r?ye(n.id):be(n.id)},children:[(0,F.jsx)(`td`,{className:`py-2 px-3 transition-colors duration-150 group-hover/row:bg-zinc-50 dark:group-hover/row:bg-[#28282d]`,children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,style:{paddingLeft:t.depth*16+`px`},children:[(0,F.jsx)(`div`,{className:`shrink-0 flex items-center justify-center w-4`,children:(0,F.jsx)(`div`,{className:`transition-transform duration-200`+(i?` rotate-90`:``),children:(0,F.jsx)(Md,{size:12,className:`text-zinc-400 dark:text-zinc-500`})})}),(0,F.jsx)(`div`,{className:`text-xs font-medium truncate text-zinc-600 dark:text-zinc-300 min-w-0`,children:n.value===null?(0,F.jsx)(`span`,{className:`italic text-zinc-400 dark:text-zinc-500`,children:`NULL`}):String(n.value)})]})}),Ce.slice(1).map((e,t)=>(0,F.jsx)(`td`,{className:`py-2 border-b border-zinc-200/40 dark:border-white/[0.04] transition-colors duration-150 group-hover/row:bg-zinc-50 dark:group-hover/row:bg-[#28282d]`},t))]},e.key)}if(t.type===`detail`){let n=Te.get(t.nodeId);if(!n)return null;let r=we.get(n.path)?.[t.rowIndex];if(r===void 0)return null;let i=s.rows[r];return i?(0,F.jsx)(`tr`,{"data-index":e.index,ref:je.measureElement,className:`group/row border-b border-zinc-200/40 dark:border-white/[0.04] transition-colors duration-150 hover:bg-zinc-50 dark:hover:bg-[#28282d]`,children:Oe.map((e,n)=>{let r=e===-1?null:i[e],a=De[n],o=typeof r==`number`,s=n===0,c=He.has(a);return(0,F.jsx)(`td`,{className:`py-1.5 px-3 text-[11px] align-top`+(c?` whitespace-pre-wrap break-words leading-relaxed`:` whitespace-nowrap`)+(o?` metric-mono tabular-nums`:``)+(s?` transition-colors duration-150 group-hover/row:bg-zinc-50 dark:group-hover/row:bg-[#28282d]`:``),children:(0,F.jsxs)(`div`,{className:c?``:`flex items-center truncate`,children:[s&&(0,F.jsx)(`span`,{style:{display:`inline-block`,width:(t.depth+1)*16+28+`px`,flexShrink:0}}),r==null?(0,F.jsx)(`span`,{className:`italic text-zinc-400 dark:text-zinc-500`,children:`NULL`}):c&&typeof r==`string`?(0,F.jsx)(G9,{text:r}):(0,F.jsx)(`span`,{className:o?`text-zinc-800 dark:text-zinc-200`:`text-zinc-600 dark:text-zinc-300`,children:K9(r,a)})]})},n)})},e.key):null}if(t.type===`flat`){let n=s.rows[t.rowIndex];return n?(0,F.jsx)(`tr`,{"data-index":e.index,ref:je.measureElement,className:`group/row border-b border-zinc-200/40 dark:border-white/[0.04] transition-colors duration-150 hover:bg-zinc-50 dark:hover:bg-[#28282d]`,children:ke.map((e,t)=>{let r=e===-1?null:n[e],i=Ce[t],a=typeof r==`number`,o=He.has(i);return(0,F.jsx)(`td`,{className:`py-2 px-3 text-xs align-top`+(o?` whitespace-pre-wrap break-words leading-relaxed`:` whitespace-nowrap`)+(a?` metric-mono tabular-nums`:``)+(t===0?` transition-colors duration-150 group-hover/row:bg-zinc-50 dark:group-hover/row:bg-[#28282d]`:``),children:(0,F.jsx)(`div`,{className:o?``:`truncate max-w-[240px]`,children:r==null?(0,F.jsx)(`span`,{className:`italic text-[10px] text-zinc-400 dark:text-zinc-500`,children:`NULL`}):o&&typeof r==`string`?(0,F.jsx)(G9,{text:r}):(0,F.jsx)(`span`,{className:a?`text-zinc-800 dark:text-zinc-200`:`text-zinc-600 dark:text-zinc-300`,children:K9(r,i)})})},t)})},e.key):null}return null}),r>0&&(0,F.jsx)(`tr`,{children:(0,F.jsx)(`td`,{colSpan:Ce.length,style:{height:r,padding:0,border:`none`}})})]})})()})]})}),(0,F.jsx)(Lc,{children:Pe&&(()=>{let e=Te.get(Pe.nodeId);if(!e)return null;let t=e.children.length>0,n=y.has(e.id)||S.has(e.id),r=e.path.split(B9).map((e,t)=>({value:e||null,depth:t}));return(0,F.jsx)(Nu.div,{initial:{opacity:0,y:-8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:{duration:.15,ease:[.4,0,.2,1]},className:`absolute left-0 right-0 z-20 cursor-pointer bg-white/95 dark:bg-zinc-800/95 backdrop-blur-sm border-t border-zinc-200/60 dark:border-white/[0.06] border-b border-zinc-200/60 dark:border-white/[0.06] shadow-sm shadow-zinc-200/40 dark:shadow-black/20`,style:{top:oe-1},onClick:()=>{t?ye(e.id):be(e.id)},children:(0,F.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,style:{paddingLeft:Pe.depth*16+13+`px`},children:[(0,F.jsx)(`div`,{className:`shrink-0 flex items-center justify-center w-4`,children:(0,F.jsx)(`div`,{className:`transition-transform duration-200`+(n?` rotate-90`:``),children:(0,F.jsx)(Md,{size:12,className:`text-zinc-400 dark:text-zinc-500`})})}),r.length>1?(0,F.jsx)(`div`,{className:`flex items-center gap-1 min-w-0 text-xs font-medium truncate`,children:r.map((e,t)=>(0,F.jsxs)(`span`,{className:`contents`,children:[t>0&&(0,F.jsx)(Md,{size:8,className:`text-zinc-300 dark:text-zinc-600 shrink-0`}),(0,F.jsx)(`span`,{className:t===r.length-1?`text-zinc-600 dark:text-zinc-300`:`text-zinc-400 dark:text-zinc-500`,children:e.value===null?(0,F.jsx)(`span`,{className:`italic text-zinc-400 dark:text-zinc-500`,children:`NULL`}):String(e.value)})]},t))}):(0,F.jsx)(`div`,{className:`text-xs font-medium truncate text-zinc-600 dark:text-zinc-300 min-w-0`,children:e.value===null?(0,F.jsx)(`span`,{className:`italic text-zinc-400 dark:text-zinc-500`,children:`NULL`}):String(e.value)})]})},Pe.nodeId)})()}),(0,F.jsx)(`div`,{className:`border-t border-zinc-200/60 dark:border-white/[0.06] px-4 py-2 bg-white dark:bg-zinc-800`,children:(0,F.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,F.jsxs)(`span`,{className:`text-[10px] tabular-nums flex items-center gap-1.5 metric-mono text-zinc-400 dark:text-zinc-500`,children:[l&&(0,F.jsx)(`span`,{className:`inline-block w-3 h-3 rounded-full border-2 border-current border-t-transparent animate-spin`}),s.rowCount.toLocaleString(),` rows`,xe&&xe.length>0&&h.length>0&&!Se?` · `+h.length+` level`+(h.length>1?`s`:``):``]}),(0,F.jsxs)(`button`,{onClick:Fe,className:`shrink-0 px-2 py-1 rounded-lg text-[10px] font-medium text-zinc-400 dark:text-zinc-500 hover:text-accent hover:bg-accent/5 dark:hover:bg-accent/10 transition-colors flex items-center gap-1`,title:`Download current result as CSV`,children:[(0,F.jsx)(Jd,{size:10,weight:`bold`}),`CSV`]})]})})]})]})}function qDe(){let{theme:e,setTheme:t}=_p(),[n,r]=(0,b.useState)(!1),[i,a]=(0,b.useState)(null),[o,s]=(0,b.useState)(null),[c,l]=(0,b.useState)(`dashboard`),u=(0,b.useRef)(null),[d,f]=(0,b.useState)(0),{sessions:p,activeSessionId:m,setActiveSessionId:h,dbLoading:g,hasLoaded:_,dbVersion:v,addSession:y,removeSession:x,clearSessions:S}=pne(r),C=(0,b.useCallback)((e,t)=>{y(e,t),s(null),a(null)},[y]),w=(0,b.useCallback)(()=>{S(),s(null),a(null)},[S]),T=mne(C,r);hne(C,r);let{dragOver:E,pasteFlash:D,fileInputRef:O,handleDrop:k,handleDragOver:ee,handleDragLeave:te,handleFileSelect:ne,loadSample:re}=T,{data:A}=ex(()=>eY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:ie}=ex(()=>tY(m),[v,m],{skip:c===`sql`||!_||g}),j=ie??[],M=(0,b.useMemo)(()=>ie?.map(e=>({modelId:e.modelId,provider:e.provider,callCount:e.callCount,totalTokens:e.totalTokens,energyCostUsd:e.energyCostUsd,energyJoules:e.energyJoules,blendedCostUsd:e.blendedCostUsd,costSource:e.costSource}))??[],[ie]),{data:ae}=ex(()=>cY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),oe=(0,b.useMemo)(()=>ae?{cacheThreshold:ae.cacheThreshold,lowContext:ae.lowContext,slowTtft:ae.slowTtft,fastTtft:ae.fastTtft,highNewInputRatio:ae.highNewInputRatio,anomalyInputThreshold:ae.anomalyInputThreshold,cacheDropMinTotal:ae.cacheDropMinTotal,cacheDropMinInput:ae.cacheDropMinInput,highInputRatio:ae.highInputRatio,highInputSeverityToken:ae.highInputSeverityToken,stallCountThreshold:ae.stallCountThreshold,stallMsSeverity:ae.stallMsSeverity}:void 0,[ae]),{data:se}=ex(()=>rY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:N}=ex(()=>{if(p.size<=1||m)return Promise.resolve(null);let e=new Map;for(let[t,n]of p.entries())e.set(t,n.fileName??null);return dY(e)},[v,p.size,m],{skip:c===`sql`||!_||g}),{data:ce}=ex(()=>aY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:le}=ex(()=>iY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:ue}=ex(()=>oY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),{data:de}=ex(()=>ae?sY(ae,m,o):Promise.resolve([]),[v,m,o,ae],{skip:c===`sql`||!_||g||!ae}),{data:fe}=ex(()=>ae?lY(ae,m,o):Promise.resolve([]),[v,m,o,ae],{skip:c===`sql`||!_||g||!ae}),{data:pe}=ex(()=>ae?nY(ae,m,o):Promise.resolve([]),[v,m,o,ae],{skip:c===`sql`||!_||g||!ae}),{data:me}=ex(()=>uY(m,o),[v,m,o],{skip:c===`sql`||!_||g}),he=(0,b.useCallback)(()=>{if(!N)return;let e=np({...N,sessions:N.sessions.map(e=>({...e,models:[],timeRange:{start:e.timeRangeStart,end:e.timeRangeEnd}})),timeRange:{start:N.timeRangeStart,end:N.timeRangeEnd}}),t=new Blob([e],{type:`text/csv;charset=utf-8`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`pi-tps-sessions-${new Date().toISOString().slice(0,10)}.csv`,r.click(),setTimeout(()=>URL.revokeObjectURL(n),1e3)},[N]),ge=(0,b.useCallback)(e=>a(e),[]),_e=(0,b.useCallback)(e=>h(e),[h]),ve=(0,b.useCallback)(()=>{},[]);(0,b.useEffect)(()=>{let e=u.current;if(!e)return;let t=new ResizeObserver(([e])=>{f(Math.round(e.borderBoxSize?.[0]?.blockSize??e.contentRect.height))});return t.observe(e),()=>t.disconnect()},[]);let ye=(0,b.useCallback)(e=>up(p.get(e)?.events??[]).length,[p]);return(0,F.jsxs)(`div`,{className:`h-dvh flex flex-col overflow-hidden bg-[#fafafa] dark:bg-[#18181b]`,onDrop:k,onDragOver:ee,onDragLeave:te,children:[(0,F.jsx)(`input`,{ref:O,type:`file`,accept:`.jsonl,.json,text/plain`,multiple:!0,className:`hidden`,onChange:ne}),(0,F.jsx)(`header`,{ref:u,className:`sticky top-0 z-40 bg-[#fafafa] dark:bg-[#18181b] border-b border-zinc-200/60 dark:border-white/[0.08]`,children:(0,F.jsxs)(`div`,{className:`max-w-[1600px] mx-auto px-4 sm:px-6 py-3 sm:py-4 flex flex-wrap items-center justify-between gap-y-2`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,F.jsx)(`div`,{className:`p-2 bg-accent/10 dark:bg-accent/15 rounded-xl`,children:(0,F.jsx)(nf,{weight:`bold`,size:22,className:`text-accent`})}),(0,F.jsxs)(`div`,{className:`hidden sm:block`,children:[(0,F.jsx)(`h1`,{className:`text-lg font-semibold tracking-tight text-zinc-900 dark:text-zinc-300 leading-none`,children:`pi-tps`}),(0,F.jsx)(`p`,{className:`text-[11px] text-zinc-400 dark:text-zinc-400 font-medium tracking-wide mt-0.5`,children:`TELEMETRY INSPECTOR`})]})]}),(0,F.jsxs)(`div`,{className:`flex flex-row items-center gap-1.5 min-w-0`,children:[p.size>0&&(0,F.jsxs)(`div`,{className:`flex items-center gap-1 bg-white/60 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-lg p-0.5`,children:[(0,F.jsx)(`button`,{onClick:()=>l(`dashboard`),className:`px-2.5 py-1.5 rounded-md text-[11px] font-medium transition-all duration-200 ${c===`dashboard`?`bg-accent/10 text-accent dark:bg-accent/15`:`text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300`}`,children:`Dashboard`}),(0,F.jsxs)(`button`,{onClick:()=>l(`sql`),className:`flex items-center gap-1 px-2.5 py-1.5 rounded-md text-[11px] font-medium transition-all duration-200 ${c===`sql`?`bg-accent/10 text-accent dark:bg-accent/15`:`text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300`}`,children:[(0,F.jsx)(Hd,{size:11,weight:`bold`}),`SQL`]})]}),(0,F.jsx)(`div`,{className:`flex items-center gap-1 bg-white/60 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-lg p-0.5`,children:(0,F.jsxs)(`button`,{onClick:()=>O.current?.click(),className:`flex items-center gap-1 px-2.5 py-1.5 rounded-md text-[11px] font-medium transition-all duration-200 text-zinc-400 dark:text-zinc-500 hover:text-zinc-600 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-white/[0.06]`,title:`Upload telemetry files`,children:[(0,F.jsx)(Vf,{size:12,weight:`bold`}),`Upload`]})}),(0,F.jsx)(AY,{theme:e,setTheme:t}),j.length>0&&(0,F.jsx)(`div`,{className:`flex items-center bg-white/60 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-lg p-0.5 min-w-0`,children:(0,F.jsxs)(`div`,{className:`relative min-w-0`,children:[(0,F.jsxs)(`select`,{value:o??``,onChange:e=>s(e.target.value||null),className:`appearance-none bg-transparent dark:bg-transparent border-0 rounded-md pl-2 pr-5 py-1.5 text-[11px] font-medium text-zinc-600 dark:text-zinc-300 focus:outline-none focus:ring-1 focus:ring-accent/30 max-w-[10rem] truncate`,children:[(0,F.jsx)(`option`,{value:``,className:`bg-white text-zinc-700 dark:bg-zinc-800 dark:text-zinc-200`,children:`All models`}),j.map(e=>(0,F.jsxs)(`option`,{value:e.modelId,className:`bg-white text-zinc-700 dark:bg-zinc-800 dark:text-zinc-200`,children:[`(`,e.provider,`) `,e.modelId.split(`/`)?.pop()]},e.modelId))]}),(0,F.jsx)(`svg`,{className:`absolute right-1.5 top-1/2 -translate-y-1/2 w-2.5 h-2.5 text-zinc-400 dark:text-zinc-500 pointer-events-none`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,viewBox:`0 0 24 24`,children:(0,F.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M19 9l-7 7-7-7`})})]})})]})]})}),p.size>0&&(0,F.jsx)(`div`,{style:{top:d?`${d}px`:0},className:`sticky z-30 bg-[#fafafa] dark:bg-[#18181b] border-b border-zinc-200/40 dark:border-white/[0.06]`,children:(0,F.jsxs)(`div`,{className:`max-w-[1600px] mx-auto px-4 sm:px-6 flex items-center gap-2`,children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-2 overflow-x-auto scrollbar-hide py-2 flex-1 min-w-0`,children:[(0,F.jsx)(ef,{size:14,className:`text-zinc-400 dark:text-zinc-500 shrink-0`,weight:`bold`}),(0,F.jsxs)(`button`,{onClick:()=>h(null),className:`shrink-0 px-2 py-1 rounded-lg text-[11px] font-medium ${m===null?`bg-accent/10 text-accent dark:bg-accent/15`:`text-zinc-500 dark:text-zinc-400 hover:text-zinc-700 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-white/[0.06]`}`,children:[`All (`,p.size,`)`]}),Array.from(p.entries()).map(([e,t])=>{let n=ye(e),r=t.fileName?t.fileName.replace(/\.(jsonl|json)$/,``):e.length>16?e.slice(0,16)+`…`:e;return(0,F.jsxs)(`div`,{className:`shrink-0 flex items-center gap-1 px-2 py-1 rounded-lg text-[11px] font-medium cursor-pointer ${m===e?`bg-accent/10 text-accent dark:bg-accent/15`:`text-zinc-500 dark:text-zinc-400 hover:text-zinc-700 dark:hover:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-white/[0.06]`}`,onClick:()=>h(m===e?null:e),children:[(0,F.jsx)(`span`,{className:`truncate max-w-[12rem]`,children:r}),(0,F.jsxs)(`span`,{className:`text-[9px] metric-mono text-zinc-400 dark:text-zinc-500`,children:[n,` req`]}),(0,F.jsx)(`button`,{onClick:t=>{t.stopPropagation(),x(e)},className:`ml-0.5 p-0.5 rounded hover:bg-zinc-200/60 dark:hover:bg-white/[0.08] text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 transition-colors`,title:`Remove session`,children:(0,F.jsx)(Gf,{size:10,weight:`bold`})})]},e)})]}),(0,F.jsx)(`div`,{className:`shrink-0 flex items-center gap-1.5 py-2 border-l border-zinc-200/40 dark:border-white/[0.06] pl-3 ml-1`,children:(0,F.jsx)(`button`,{onClick:w,className:`shrink-0 px-2 py-1 rounded-lg text-[10px] font-medium text-zinc-400 dark:text-zinc-500 hover:text-ember hover:bg-ember/5 dark:hover:bg-ember/10 transition-colors`,children:`Clear all`})})]})}),(0,F.jsx)(`div`,{className:`flex-1 min-h-0 flex flex-col px-4 sm:px-6 py-6 ${c===`sql`&&p.size>0?``:`hidden`}`,children:(0,F.jsx)(KDe,{dbVersion:v,activeSessionId:m})}),(0,F.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto ${c===`sql`&&p.size>0?`hidden`:``}`,children:(_||g||n)&&!A?(0,F.jsx)(`div`,{className:`flex items-center justify-center min-h-[60dvh]`,children:(0,F.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,F.jsx)(`div`,{className:`w-10 h-10 border-2 border-zinc-200 dark:border-white/[0.06] border-t-accent rounded-full animate-spin`}),(0,F.jsx)(`p`,{className:`text-sm text-zinc-400 dark:text-zinc-400 font-medium`,children:`Loading telemetry…`})]})}):!_&&!A?(0,F.jsx)(Nu.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},className:`flex items-center justify-center min-h-[70dvh] px-4 sm:px-6`,children:(0,F.jsxs)(`div`,{className:`max-w-lg w-full text-center p-12 rounded-[2.5rem] border-2 border-dashed transition-colors ${E?`border-accent bg-accent/5 dark:border-accent dark:bg-accent/10`:`border-zinc-200 bg-white dark:border-white/[0.06] dark:bg-zinc-800/40`}`,children:[(0,F.jsx)(`div`,{className:`w-16 h-16 mx-auto mb-6 bg-zinc-50 dark:bg-white/[0.06] rounded-3xl flex items-center justify-center`,children:(0,F.jsx)(Xd,{size:28,className:`text-zinc-300 dark:text-zinc-400`,weight:`duotone`})}),(0,F.jsx)(`h2`,{className:`text-xl font-semibold text-zinc-700 dark:text-zinc-300 mb-2`,children:`Drop, paste, or import telemetry files`}),(0,F.jsxs)(`p`,{className:`text-sm text-zinc-400 dark:text-zinc-400 mb-6 leading-relaxed`,children:[`Drag and drop `,(0,F.jsx)(`code`,{className:`metric-mono text-xs bg-zinc-100 dark:bg-white/[0.06] px-1.5 py-0.5 rounded`,children:`.jsonl`}),` files (one or many), or paste JSONL contents directly (`,(0,F.jsx)(`kbd`,{className:`metric-mono text-[11px] bg-zinc-100 dark:bg-white/[0.06] px-1.5 py-0.5 rounded border border-zinc-200/60 dark:border-white/[0.06]`,children:`⌘V`}),`). Supports telemetry exports from `,(0,F.jsx)(`code`,{className:`metric-mono text-xs bg-zinc-100 dark:bg-white/[0.06] px-1.5 py-0.5 rounded`,children:`/tps-export`}),` and raw session files from `,(0,F.jsx)(`code`,{className:`metric-mono text-xs bg-zinc-100 dark:bg-white/[0.06] px-1.5 py-0.5 rounded`,children:`~/.pi/agent/sessions`}),`.`]}),(0,F.jsxs)(`a`,{href:`https://github.com/monotykamary/pi-tps`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-start gap-2.5 text-left px-4 py-3 rounded-xl border border-accent/15 dark:border-accent/20 bg-accent/[0.04] dark:bg-accent/10 hover:bg-accent/[0.07] dark:hover:bg-accent/[0.14] transition-colors mb-8`,children:[(0,F.jsx)(lf,{size:16,className:`text-accent shrink-0 mt-0.5`,weight:`bold`}),(0,F.jsxs)(`div`,{children:[(0,F.jsx)(`p`,{className:`text-xs font-semibold text-accent leading-snug`,children:`Get the most out of your analytics`}),(0,F.jsxs)(`p`,{className:`text-[11px] text-zinc-500 dark:text-zinc-400 leading-relaxed mt-0.5`,children:[`Use `,(0,F.jsx)(`span`,{className:`font-medium text-zinc-700 dark:text-zinc-300`,children:`pi-tps`}),` to hook into pi and stream rich telemetry — TPS, TTFT, energy, cache hits, and more — straight to this inspector.`]})]})]}),(0,F.jsxs)(`div`,{className:`flex flex-col sm:flex-row items-center justify-center gap-3`,children:[(0,F.jsxs)(`button`,{onClick:()=>O.current?.click(),className:`px-6 py-2.5 bg-white dark:bg-zinc-800/50 border border-zinc-200/60 dark:border-white/[0.08] text-zinc-700 dark:text-zinc-300 text-sm font-medium rounded-xl hover:bg-zinc-50 dark:hover:bg-white/[0.06] transition-colors active:scale-[0.98] active:translate-y-[1px] flex items-center gap-2`,children:[(0,F.jsx)(Vf,{size:16,weight:`bold`}),`Upload Files`]}),(0,F.jsx)(`button`,{onClick:re,className:`px-6 py-2.5 bg-accent text-white text-sm font-medium rounded-xl hover:bg-accent-dark transition-colors active:scale-[0.98] active:translate-y-[1px]`,children:`Load Sample Data`})]}),D&&(0,F.jsxs)(Nu.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0},className:`flex items-center gap-2 justify-center text-sm text-moss font-medium`,children:[(0,F.jsx)(Id,{size:16,weight:`bold`}),`Pasted — loading telemetry…`]})]})},`empty`):(0,F.jsxs)(`div`,{className:`max-w-[1600px] mx-auto px-4 sm:px-6 py-8 space-y-8 rounded-[2rem] ${E?`border-2 border-dashed border-accent bg-accent/5 dark:border-accent dark:bg-accent/10`:``}`,children:[A&&(0,F.jsxs)(Nu.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{duration:.2},className:`grid grid-cols-2 md:grid-cols-5 lg:grid-cols-9 gap-2`,children:[(0,F.jsx)(ax,{icon:Cf,label:`Requests`,value:Jf(A.totalCalls),tooltip:(0,F.jsx)(vne,{total:A.totalCalls,models:M,avgTokensPerCall:A.avgTokensPerCall,stalledCalls:A.stalledCalls,cachedCalls:A.cachedCalls,fastCalls:A.fastCalls})}),(0,F.jsx)(ax,{icon:jf,label:`Total Time`,value:qf(A.wallClockMs),tooltip:(0,F.jsx)(yne,{wallClockMs:A.wallClockMs,totalTimeMs:A.totalTimeMs,generationMs:A.totalGenerationMs})}),(0,F.jsx)(ox,{icon:nf,label:`Avg TPS`,activeTps:A.avgTps,wallTps:A.avgWallTps,lossPct:A.tpsLoss,mode:`avg`}),(0,F.jsx)(ox,{icon:Ed,label:`Wtd TPS`,activeTps:A.weightedTps,wallTps:A.weightedWallTps,lossPct:A.weightedTpsLoss,accent:!0,mode:`weighted`}),(0,F.jsx)(ax,{icon:Rd,label:`Avg TTFT`,value:qf(Math.round(A.avgTtft)),tooltip:(0,F.jsx)(bne,{avgTtft:A.avgTtft,p50:A.ttftP50,p75:A.ttftP75,p90:A.ttftP90,p99:A.ttftP99,min:A.minTtft,max:A.maxTtft})}),(0,F.jsx)(ax,{icon:Qd,label:`Stalls (ITL)`,value:Jf(A.totalStallCount),accent:!0,tooltip:(0,F.jsx)(xne,{count:A.totalStallCount,ms:A.totalStallMs,totalTimeMs:A.totalTimeMs})}),(0,F.jsx)(ax,{icon:Bd,label:`Cost`,value:Yf(A.totalCostUsd),tooltip:(0,F.jsx)(Sne,{totalCost:A.totalCostUsd,energyCost:A.energyCostUsd,costSource:A.costSource,models:M,totalTokens:A.totalTokens})}),(()=>{let e=A.totalEnergyJoules===null?null:ep(A.totalEnergyJoules);return(0,F.jsx)(ax,{icon:pf,label:`Energy`,value:e?e.value:`-`,unit:e?e.unit:void 0,tooltip:(0,F.jsx)(Cne,{joules:A.totalEnergyJoules,energyCost:A.energyCostUsd,models:M,totalCalls:A.totalCalls})})})(),(0,F.jsx)(ax,{icon:sf,label:`Tokens`,value:Jf(A.totalTokens),tooltip:(0,F.jsx)(wne,{input:A.totalInput,output:A.totalOutput,cacheRead:A.totalCacheRead,cacheWrite:A.totalCacheWrite,total:A.totalTokens,totalCost:A.totalCostUsd})})]}),N&&N.sessionCount>1&&(0,F.jsxs)(Nu.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},transition:{duration:.2},className:`bg-white/80 dark:bg-zinc-800/40 border border-zinc-200/60 dark:border-white/[0.06] rounded-2xl overflow-hidden`,children:[(0,F.jsxs)(`div`,{className:`px-4 py-3 border-b border-zinc-200/40 dark:border-white/[0.06] flex items-center gap-2`,children:[(0,F.jsx)(Tf,{size:14,className:`text-accent`,weight:`bold`}),(0,F.jsx)(`h2`,{className:`text-sm font-semibold text-zinc-800 dark:text-zinc-300`,children:`Sessions Overview`}),(0,F.jsxs)(`span`,{className:`ml-auto text-[10px] metric-mono text-zinc-400 dark:text-zinc-500`,children:[N.sessionCount,` sessions · `,Jf(N.totalCalls),` requests`]}),(0,F.jsxs)(`button`,{onClick:he,className:`shrink-0 ml-2 px-2 py-1 rounded-lg text-[10px] font-medium text-zinc-400 dark:text-zinc-500 hover:text-accent hover:bg-accent/5 dark:hover:bg-accent/10 transition-colors flex items-center gap-1`,title:`Export per-session stats as CSV`,children:[(0,F.jsx)(Jd,{size:10,weight:`bold`}),`CSV`]})]}),(0,F.jsx)(`div`,{className:`overflow-x-auto`,style:{contain:`content`},children:(0,F.jsxs)(`table`,{className:`w-full text-[11px]`,children:[(0,F.jsx)(`thead`,{children:(0,F.jsxs)(`tr`,{className:`text-[9px] uppercase tracking-wider text-zinc-400 dark:text-zinc-500 border-b border-zinc-200/30 dark:border-white/[0.04]`,children:[(0,F.jsx)(`th`,{className:`text-left px-4 py-2 font-medium`,children:`Session`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Requests`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Avg TPS`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Wtd TPS`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Avg TTFT`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Cost`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Energy`}),(0,F.jsx)(`th`,{className:`text-right px-3 py-2 font-medium`,children:`Tokens`})]})}),(0,F.jsx)(`tbody`,{children:N.sessions.map((e,t)=>(0,F.jsxs)(`tr`,{className:`border-b border-zinc-200/20 dark:border-white/[0.03] hover:bg-zinc-50 dark:hover:bg-white/[0.02] cursor-pointer ${t%2==0?`bg-zinc-50/30 dark:bg-white/[0.01]`:``}`,onClick:()=>h(e.sessionId),children:[(0,F.jsx)(`td`,{className:`px-4 py-2 font-medium text-zinc-700 dark:text-zinc-300 max-w-[16rem] truncate`,children:e.fileName||e.sessionId.length>20?e.fileName||e.sessionId.slice(0,20)+`…`:e.sessionId}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:Jf(e.totalCalls,0)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:Zf(e.avgTps)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-accent font-medium`,children:Zf(e.weightedTps)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:qf(Math.round(e.avgTtft))}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:Yf(e.totalCostUsd)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:e.totalEnergyJoules===null?`-`:Qf(e.totalEnergyJoules)}),(0,F.jsx)(`td`,{className:`px-3 py-2 text-right metric-mono text-zinc-600 dark:text-zinc-300`,children:Jf(e.totalTokens)})]},e.sessionId))}),(0,F.jsx)(`tfoot`,{children:(0,F.jsxs)(`tr`,{className:`border-t border-zinc-200/50 dark:border-white/[0.06] font-semibold text-zinc-800 dark:text-zinc-200 bg-zinc-100/40 dark:bg-white/[0.03]`,children:[(0,F.jsxs)(`td`,{className:`px-4 py-2.5`,children:[`Total (`,N.sessionCount,`)`]}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:Jf(N.totalCalls,0)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:Zf(N.avgTps)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono text-accent`,children:Zf(N.weightedTps)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:qf(Math.round(N.avgTtft))}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:Yf(N.totalCostUsd)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:N.totalEnergyJoules===null?`-`:Qf(N.totalEnergyJoules)}),(0,F.jsx)(`td`,{className:`px-3 py-2.5 text-right metric-mono`,children:Jf(N.totalTokens)})]})})]})})]}),(0,F.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-12 gap-6`,children:[(0,F.jsxs)(`div`,{className:`lg:col-span-8 space-y-6`,children:[(0,F.jsx)(Jq,{buckets:se??[],onBucketClick:ve}),(0,F.jsx)(Zq,{data:pe??[],onPointClick:ge,thresholds:oe??Kf}),N&&N.sessionCount>1&&(0,F.jsx)(EY,{multiSummary:N,onSessionClick:_e}),(0,F.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-6`,children:[(0,F.jsx)(CY,{bins:ue?.bins??[],fastCount:ue?.fastCount??0,slowCount:ue?.slowCount??0,percentiles:ue?.percentiles??[]}),(0,F.jsx)(qJ,{overall:ce?.overall??[],overTime:ce?.overTime??[],hitRate:ce?.hitRate??0})]}),(0,F.jsx)(eJ,{data:le??[]})]}),(0,F.jsxs)(`div`,{className:`lg:col-span-4 flex flex-col gap-6`,children:[M.length>1&&(0,F.jsx)(OY,{models:M,avgTps:A?.avgTps??0,weightedTps:A?.weightedTps??0,totalCalls:A?.totalCalls??0}),(0,F.jsx)(nJ,{stats:de??[]}),(0,F.jsx)(iJ,{anomalies:fe??[]}),(0,F.jsx)(IJ,{timeline:me??[],selectedId:i,onSelect:ge,thresholds:oe??Kf})]})]}),(0,F.jsx)(xY,{dbVersion:v,activeSessionId:m,selectedModel:o,ready:_&&!g})]})})]})}(0,x.createRoot)(document.getElementById(`root`)).render((0,F.jsx)(b.StrictMode,{children:(0,F.jsx)(qDe,{})}));
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Geist,system-ui,sans-serif;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Geist Mono,JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.card-surface{background:var(--surface);border:1px solid var(--border);contain:paint;border-radius:1.5rem;box-shadow:0 20px 40px -15px #0000000d}.dark .card-surface{box-shadow:0 1px 2px #0000004d,0 8px 24px -8px #0006}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #e4e4e799;box-shadow:0 4px 12px -2px #00000014,0 20px 40px -15px #0000001a}.dark .glass-panel{background:#1e1e22f5;border:1px solid #ffffff14;box-shadow:0 4px 12px -2px #0000004d,0 8px 24px -8px #00000080}.metric-mono{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:Geist Mono,JetBrains Mono,monospace}.text-gradient{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.shimmer-bg{background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;animation:2s infinite shimmer}.dark .shimmer-bg{background:linear-gradient(90deg,#0000 0%,#ffffff0f 50%,#0000 100%) 0 0/200% 100%}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-\[-4px\]{top:-4px}.right-0{right:0}.right-1\.5{right:calc(var(--spacing) * 1.5)}.bottom-\[-4px\]{bottom:-4px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-\[100\]{z-index:100}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing) * 4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0{height:0}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-56{height:calc(var(--spacing) * 56)}.h-60{height:calc(var(--spacing) * 60)}.h-64{height:calc(var(--spacing) * 64)}.h-72{height:calc(var(--spacing) * 72)}.h-\[36px\]{height:36px}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[280px\]{max-height:280px}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-\[60dvh\]{min-height:60dvh}.min-h-\[70dvh\]{min-height:70dvh}.min-h-\[120px\]{min-height:120px}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-full{width:100%}.w-px{width:1px}.max-w-\[10rem\]{max-width:10rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[16rem\]{max-width:16rem}.max-w-\[200px\]{max-width:200px}.max-w-\[240px\]{max-width:240px}.max-w-\[1600px\]{max-width:1600px}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\[1\.005\]{scale:1.005}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.scrollbar-thin{scrollbar-width:thin}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{-moz-column-gap:calc(var(--spacing) * 4);column-gap:calc(var(--spacing) * 4)}.gap-x-5{-moz-column-gap:calc(var(--spacing) * 5);column-gap:calc(var(--spacing) * 5)}.gap-x-6{-moz-column-gap:calc(var(--spacing) * 6);column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-zinc-100>:not(:last-child)){border-color:#f5f5f5}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-sm{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.rounded-r-sm{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent{border-color:#0891b2}.border-accent\/15{border-color:oklab(60.8911% -.0828014 -.0738333/.15)}.border-accent\/30{border-color:oklab(60.8911% -.0828014 -.0738333/.3)}.border-accent\/40{border-color:oklab(60.8911% -.0828014 -.0738333/.4)}.border-amber\/15{border-color:oklab(66.584% .082678 .133963/.15)}.border-amber\/20{border-color:oklab(66.584% .082678 .133963/.2)}.border-current{border-color:currentColor}.border-ember\/15{border-color:oklab(57.7099% .191149 .0987651/.15)}.border-ember\/20{border-color:oklab(57.7099% .191149 .0987651/.2)}.border-moss\/15{border-color:oklab(59.5971% -.121996 .0367738/.15)}.border-moss\/20{border-color:oklab(59.5971% -.121996 .0367738/.2)}.border-red-200\/40{border-color:#ffcaca66}@supports (color:color-mix(in lab, red, red)){.border-red-200\/40{border-color:color-mix(in oklab, var(--color-red-200) 40%, transparent)}}.border-zinc-100{border-color:#f5f5f5}.border-zinc-200{border-color:#e5e5e5}.border-zinc-200\/20{border-color:oklab(92.1906% 2.98023e-8 0/.2)}.border-zinc-200\/30{border-color:oklab(92.1906% 2.98023e-8 0/.3)}.border-zinc-200\/40{border-color:oklab(92.1906% 2.98023e-8 0/.4)}.border-zinc-200\/50{border-color:oklab(92.1906% 2.98023e-8 0/.5)}.border-zinc-200\/60{border-color:oklab(92.1906% 2.98023e-8 0/.6)}.border-zinc-300{border-color:#d4d4d4}.border-t-accent{border-top-color:#0891b2}.border-t-transparent{border-top-color:#0000}.bg-\[\#fafafa\]{background-color:#fafafa}.bg-accent{background-color:#0891b2}.bg-accent\/5{background-color:oklab(60.8911% -.0828014 -.0738333/.05)}.bg-accent\/10{background-color:oklab(60.8911% -.0828014 -.0738333/.1)}.bg-accent\/40{background-color:oklab(60.8911% -.0828014 -.0738333/.4)}.bg-accent\/60{background-color:oklab(60.8911% -.0828014 -.0738333/.6)}.bg-accent\/70{background-color:oklab(60.8911% -.0828014 -.0738333/.7)}.bg-accent\/\[0\.03\]{background-color:oklab(60.8911% -.0828014 -.0738333/.03)}.bg-accent\/\[0\.04\]{background-color:oklab(60.8911% -.0828014 -.0738333/.04)}.bg-amber{background-color:#d97706}.bg-amber\/5{background-color:oklab(66.584% .082678 .133963/.05)}.bg-amber\/8{background-color:oklab(66.584% .082678 .133963/.08)}.bg-amber\/10{background-color:oklab(66.584% .082678 .133963/.1)}.bg-amber\/60{background-color:oklab(66.584% .082678 .133963/.6)}.bg-ember{background-color:#dc2626}.bg-ember\/5{background-color:oklab(57.7099% .191149 .0987651/.05)}.bg-ember\/8{background-color:oklab(57.7099% .191149 .0987651/.08)}.bg-ember\/10{background-color:oklab(57.7099% .191149 .0987651/.1)}.bg-ember\/70{background-color:oklab(57.7099% .191149 .0987651/.7)}.bg-ember\/\[0\.03\]{background-color:oklab(57.7099% .191149 .0987651/.03)}.bg-moss{background-color:#059669}.bg-moss\/5{background-color:oklab(59.5971% -.121996 .0367738/.05)}.bg-moss\/10{background-color:oklab(59.5971% -.121996 .0367738/.1)}.bg-moss\/30{background-color:oklab(59.5971% -.121996 .0367738/.3)}.bg-moss\/60{background-color:oklab(59.5971% -.121996 .0367738/.6)}.bg-moss\/70{background-color:oklab(59.5971% -.121996 .0367738/.7)}.bg-moss\/\[0\.03\]{background-color:oklab(59.5971% -.121996 .0367738/.03)}.bg-red-50\/50{background-color:#fef2f280}@supports (color:color-mix(in lab, red, red)){.bg-red-50\/50{background-color:color-mix(in oklab, var(--color-red-50) 50%, transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/5{background-color:color-mix(in oklab, var(--color-violet-500) 5%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/40{background-color:#fff6}@supports (color:color-mix(in lab, red, red)){.bg-white\/40{background-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab, red, red)){.bg-white\/60{background-color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-zinc-50{background-color:#fafafa}.bg-zinc-50\/30{background-color:oklab(98.5104% -1.19209e-7 5.96046e-8/.3)}.bg-zinc-50\/50{background-color:oklab(98.5104% -1.19209e-7 5.96046e-8/.5)}.bg-zinc-50\/80{background-color:oklab(98.5104% -1.19209e-7 5.96046e-8/.8)}.bg-zinc-100{background-color:#f5f5f5}.bg-zinc-100\/40{background-color:oklab(97.0151% 2.98023e-8 0/.4)}.bg-zinc-100\/80{background-color:oklab(97.0151% 2.98023e-8 0/.8)}.bg-zinc-200\/50{background-color:oklab(92.1906% 2.98023e-8 0/.5)}.bg-zinc-200\/60{background-color:oklab(92.1906% 2.98023e-8 0/.6)}.bg-zinc-300{background-color:#d4d4d4}.bg-zinc-400{background-color:#a3a3a3}.bg-zinc-400\/50{background-color:oklab(71.5474% 8.9407e-8 0/.5)}.bg-zinc-600{background-color:#525252}.bg-zinc-700{background-color:#404040}.bg-zinc-800{background-color:#262626}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:Geist Mono,JetBrains Mono,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[6px\]{font-size:6px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:#0891b2}.text-accent\/60{color:oklab(60.8911% -.0828014 -.0738333/.6)}.text-amber{color:#d97706}.text-ember{color:#dc2626}.text-moss{color:#059669}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-violet-600{color:var(--color-violet-600)}.text-white{color:var(--color-white)}.text-zinc-300{color:#d4d4d4}.text-zinc-400{color:#a3a3a3}.text-zinc-500{color:#737373}.text-zinc-600{color:#525252}.text-zinc-700{color:#404040}.text-zinc-800{color:#262626}.text-zinc-900{color:#171717}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.mix-blend-difference{mix-blend-mode:difference}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-zinc-200\/40{--tw-shadow-color:#e5e5e566}@supports (color:color-mix(in lab, red, red)){.shadow-zinc-200\/40{--tw-shadow-color:color-mix(in oklab, oklab(92.1906% 2.98023e-8 0/.4) var(--tw-shadow-alpha), transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.45\)\]{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000073));--tw-drop-shadow:var(--tw-drop-shadow-size);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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:bg-accent\/\[0\.07\]:is(:where(.group):hover *){background-color:oklab(60.8911% -.0828014 -.0738333/.07)}.group-hover\:opacity-90:is(:where(.group):hover *){opacity:.9}.group-hover\/row\:bg-zinc-50:is(:where(.group\/row):hover *){background-color:#fafafa}}.first\:pl-0:first-child{padding-left:0}.last\:pr-0:last-child{padding-right:0}.focus-within\:border-accent\/40:focus-within{border-color:oklab(60.8911% -.0828014 -.0738333/.4)}@media (hover:hover){.hover\:border-accent\/30:hover{border-color:oklab(60.8911% -.0828014 -.0738333/.3)}.hover\:bg-accent-dark:hover{background-color:#0e7490}.hover\:bg-accent\/5:hover{background-color:oklab(60.8911% -.0828014 -.0738333/.05)}.hover\:bg-accent\/90:hover{background-color:oklab(60.8911% -.0828014 -.0738333/.9)}.hover\:bg-accent\/\[0\.07\]:hover{background-color:oklab(60.8911% -.0828014 -.0738333/.07)}.hover\:bg-ember\/5:hover{background-color:oklab(57.7099% .191149 .0987651/.05)}.hover\:bg-zinc-50:hover{background-color:#fafafa}.hover\:bg-zinc-50\/80:hover{background-color:oklab(98.5104% -1.19209e-7 5.96046e-8/.8)}.hover\:bg-zinc-100:hover{background-color:#f5f5f5}.hover\:bg-zinc-200:hover{background-color:#e5e5e5}.hover\:bg-zinc-200\/60:hover{background-color:oklab(92.1906% 2.98023e-8 0/.6)}.hover\:text-accent:hover{color:#0891b2}.hover\:text-ember:hover{color:#dc2626}.hover\:text-zinc-600:hover{color:#525252}.hover\:text-zinc-700:hover{color:#404040}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-accent\/30:focus{--tw-ring-color:oklab(60.8911% -.0828014 -.0738333/.3)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-accent:focus-visible{--tw-ring-color:#0891b2}.active\:translate-y-\[1px\]:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.95\]:active{scale:.95}.active\:scale-\[0\.97\]:active{scale:.97}.active\:scale-\[0\.98\]:active{scale:.98}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-zinc-100:active{background-color:#f5f5f5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}@media (width>=40rem){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=64rem){.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}:where(.dark\:divide-white\/\[0\.06\]:is(.dark *)>:not(:last-child)){border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){:where(.dark\:divide-white\/\[0\.06\]:is(.dark *)>:not(:last-child)){border-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.dark\:border-accent:is(.dark *){border-color:#0891b2}.dark\:border-accent\/20:is(.dark *){border-color:oklab(60.8911% -.0828014 -.0738333/.2)}.dark\:border-amber\/20:is(.dark *){border-color:oklab(66.584% .082678 .133963/.2)}.dark\:border-ember\/20:is(.dark *){border-color:oklab(57.7099% .191149 .0987651/.2)}.dark\:border-moss\/20:is(.dark *){border-color:oklab(59.5971% -.121996 .0367738/.2)}.dark\:border-red-500\/20:is(.dark *){border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.dark\:border-red-500\/20:is(.dark *){border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.dark\:border-white\/\[0\.03\]:is(.dark *){border-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/\[0\.03\]:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.dark\:border-white\/\[0\.04\]:is(.dark *){border-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/\[0\.04\]:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.dark\:border-white\/\[0\.06\]:is(.dark *){border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/\[0\.06\]:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.dark\:border-white\/\[0\.08\]:is(.dark *){border-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/\[0\.08\]:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.dark\:border-zinc-600:is(.dark *){border-color:#525252}.dark\:bg-\[\#18181b\]:is(.dark *){background-color:#18181b}.dark\:bg-accent\/10:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.1)}.dark\:bg-accent\/15:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.15)}.dark\:bg-accent\/\[0\.05\]:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.05)}.dark\:bg-accent\/\[0\.06\]:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.06)}.dark\:bg-accent\/\[0\.08\]:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.08)}.dark\:bg-amber\/10:is(.dark *){background-color:oklab(66.584% .082678 .133963/.1)}.dark\:bg-amber\/15:is(.dark *){background-color:oklab(66.584% .082678 .133963/.15)}.dark\:bg-ember\/10:is(.dark *){background-color:oklab(57.7099% .191149 .0987651/.1)}.dark\:bg-ember\/15:is(.dark *){background-color:oklab(57.7099% .191149 .0987651/.15)}.dark\:bg-ember\/\[0\.06\]:is(.dark *){background-color:oklab(57.7099% .191149 .0987651/.06)}.dark\:bg-moss\/10:is(.dark *){background-color:oklab(59.5971% -.121996 .0367738/.1)}.dark\:bg-moss\/15:is(.dark *){background-color:oklab(59.5971% -.121996 .0367738/.15)}.dark\:bg-moss\/\[0\.06\]:is(.dark *){background-color:oklab(59.5971% -.121996 .0367738/.06)}.dark\:bg-red-500\/5:is(.dark *){background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-500\/5:is(.dark *){background-color:color-mix(in oklab, var(--color-red-500) 5%, transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:bg-violet-500\/10:is(.dark *){background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-violet-500\/10:is(.dark *){background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.dark\:bg-white\/\[0\.01\]:is(.dark *){background-color:#ffffff03}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.01\]:is(.dark *){background-color:color-mix(in oklab, var(--color-white) 1%, transparent)}}.dark\:bg-white\/\[0\.03\]:is(.dark *){background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.03\]:is(.dark *){background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.dark\:bg-white\/\[0\.04\]:is(.dark *){background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.04\]:is(.dark *){background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.dark\:bg-white\/\[0\.06\]:is(.dark *){background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.06\]:is(.dark *){background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.dark\:bg-zinc-300:is(.dark *){background-color:#d4d4d4}.dark\:bg-zinc-400:is(.dark *){background-color:#a3a3a3}.dark\:bg-zinc-500\/60:is(.dark *){background-color:oklab(55.5527% 0 0/.6)}.dark\:bg-zinc-600:is(.dark *){background-color:#525252}.dark\:bg-zinc-700\/40:is(.dark *){background-color:oklab(37.1495% -4.47035e-8 0/.4)}.dark\:bg-zinc-700\/60:is(.dark *){background-color:oklab(37.1495% -4.47035e-8 0/.6)}.dark\:bg-zinc-800:is(.dark *){background-color:#262626}.dark\:bg-zinc-800\/20:is(.dark *){background-color:oklab(26.8618% 4.47035e-8 0/.2)}.dark\:bg-zinc-800\/40:is(.dark *){background-color:oklab(26.8618% 4.47035e-8 0/.4)}.dark\:bg-zinc-800\/50:is(.dark *){background-color:oklab(26.8618% 4.47035e-8 0/.5)}.dark\:bg-zinc-800\/95:is(.dark *){background-color:oklab(26.8618% 4.47035e-8 0/.95)}.dark\:bg-zinc-900:is(.dark *){background-color:#171717}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\:text-violet-300:is(.dark *){color:var(--color-violet-300)}.dark\:text-zinc-200:is(.dark *){color:#e5e5e5}.dark\:text-zinc-300:is(.dark *){color:#d4d4d4}.dark\:text-zinc-400:is(.dark *){color:#a3a3a3}.dark\:text-zinc-500:is(.dark *){color:#737373}.dark\:text-zinc-600:is(.dark *){color:#525252}.dark\:text-zinc-700:is(.dark *){color:#404040}.dark\:opacity-40:is(.dark *){opacity:.4}.dark\:shadow-black\/20:is(.dark *){--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.dark\:shadow-black\/20:is(.dark *){--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}@media (hover:hover){.dark\:group-hover\/row\:bg-\[\#28282d\]:is(.dark *):is(:where(.group\/row):hover *){background-color:#28282d}}.dark\:focus-within\:border-accent\/40:is(.dark *):focus-within{border-color:oklab(60.8911% -.0828014 -.0738333/.4)}@media (hover:hover){.dark\:hover\:border-accent\/40:is(.dark *):hover{border-color:oklab(60.8911% -.0828014 -.0738333/.4)}.dark\:hover\:bg-\[\#28282d\]:is(.dark *):hover{background-color:#28282d}.dark\:hover\:bg-accent\/10:is(.dark *):hover{background-color:oklab(60.8911% -.0828014 -.0738333/.1)}.dark\:hover\:bg-accent\/\[0\.14\]:is(.dark *):hover{background-color:oklab(60.8911% -.0828014 -.0738333/.14)}.dark\:hover\:bg-ember\/10:is(.dark *):hover{background-color:oklab(57.7099% .191149 .0987651/.1)}.dark\:hover\:bg-white\/\[0\.02\]:is(.dark *):hover{background-color:#ffffff05}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/\[0\.02\]:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-white) 2%, transparent)}}.dark\:hover\:bg-white\/\[0\.04\]:is(.dark *):hover{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/\[0\.04\]:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.dark\:hover\:bg-white\/\[0\.06\]:is(.dark *):hover{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/\[0\.06\]:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.dark\:hover\:bg-white\/\[0\.08\]:is(.dark *):hover{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/\[0\.08\]:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.dark\:hover\:text-accent-light:is(.dark *):hover{color:#06b6d4}.dark\:hover\:text-zinc-200:is(.dark *):hover{color:#e5e5e5}.dark\:hover\:text-zinc-300:is(.dark *):hover{color:#d4d4d4}}.dark\:active\:bg-white\/\[0\.08\]:is(.dark *):active{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.dark\:active\:bg-white\/\[0\.08\]:is(.dark *):active{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#a1a1aa4d transparent}.scrollbar-thin::-webkit-scrollbar{width:5px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#a1a1aa4d;border-radius:9999px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#a1a1aa80}.dark .scrollbar-thin{scrollbar-color:#71717a4d transparent}.dark .scrollbar-thin::-webkit-scrollbar-thumb{background-color:#71717a4d}.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#71717a80}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#a1a1aa33 transparent;overscroll-behavior:none}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#a1a1aa40;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#a1a1aa66}.dark .custom-scrollbar{scrollbar-color:#71717a33 transparent}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#71717a40}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#71717a66}}@font-face{font-family:Geist;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.0/dist/fonts/geist-sans/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.0/dist/fonts/geist-mono/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--bg:#fafafa;--surface:#fff;--surface-raised:#fff;--border:#e4e4e780;--text-primary:#09090b;--text-secondary:#71717a;--text-tertiary:#a1a1aa;--accent:#0891b2;--accent-light:#06b6d4;--accent-muted:#164e63}.dark{--bg:#18181b;--surface:#1e1e22;--surface-raised:#27272a;--border:#ffffff0f;--text-primary:#d4d4d8;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--accent:#06b6d4;--accent-light:#22d3ee;--accent-muted:#164e63}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist,system-ui,sans-serif}body{background:var(--bg);color:var(--text-primary);min-height:100dvh}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete{background-color:#fff;border:1px solid #e4e4e799;border-radius:8px;box-shadow:0 4px 12px -2px #00000014,0 20px 40px -15px #0000001a}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li{color:#09090b;padding:4px 8px;font-family:Geist Mono,JetBrains Mono,monospace;font-size:12px}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected]{color:#0891b2;background-color:#0891b214}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li .cm-completionLabel{color:#09090b}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected] .cm-completionLabel{color:#0891b2}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li .cm-completionDetail{color:#a1a1aa;font-style:normal}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected] .cm-completionDetail{color:#71717a}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-class:after{color:#0e7490;content:"●"!important;font-size:10px!important}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-property:after{color:#7c3aed;content:"▪"!important;font-size:9px!important}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-keyword:after{color:#0e7490;content:"◆"!important;font-size:9px!important}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-function:after{color:#9333ea;content:"ƒ"!important}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-type:after{color:#15803d;content:"⟩"!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete{background-color:#27272a;border:1px solid #ffffff14;border-radius:8px;box-shadow:0 4px 12px -2px #0000004d,0 8px 24px -8px #00000080}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li{color:#d4d4d8}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected]{color:#22d3ee;background-color:#06b6d41f}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li .cm-completionLabel{color:#d4d4d8}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected] .cm-completionLabel{color:#22d3ee}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li .cm-completionDetail{color:#52525b}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected] .cm-completionDetail{color:#71717a}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-class:after{color:#22d3ee;content:"●"!important;font-size:10px!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-property:after{color:#c084fc;content:"▪"!important;font-size:9px!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-keyword:after{color:#22d3ee;content:"◆"!important;font-size:9px!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-function:after{color:#c084fc;content:"ƒ"!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-type:after{color:#4ade80;content:"⟩"!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--color-red-50:oklch(97.1% .013 17.38);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Geist,system-ui,sans-serif;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Geist Mono,JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.card-surface{background:var(--surface);border:1px solid var(--border);contain:paint;border-radius:1.5rem;box-shadow:0 20px 40px -15px #0000000d}.dark .card-surface{box-shadow:0 1px 2px #0000004d,0 8px 24px -8px #0006}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #e4e4e799;box-shadow:0 4px 12px -2px #00000014,0 20px 40px -15px #0000001a}.dark .glass-panel{background:#1e1e22f5;border:1px solid #ffffff14;box-shadow:0 4px 12px -2px #0000004d,0 8px 24px -8px #00000080}.metric-mono{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:Geist Mono,JetBrains Mono,monospace}.text-gradient{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.shimmer-bg{background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;animation:2s infinite shimmer}.dark .shimmer-bg{background:linear-gradient(90deg,#0000 0%,#ffffff0f 50%,#0000 100%) 0 0/200% 100%}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1\/2{top:50%}.top-\[-4px\]{top:-4px}.right-0{right:0}.right-1\.5{right:calc(var(--spacing) * 1.5)}.bottom-\[-4px\]{bottom:-4px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-\[100\]{z-index:100}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing) * 4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:var(--spacing)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-0\.5{margin-right:calc(var(--spacing) * .5)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0{height:0}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-56{height:calc(var(--spacing) * 56)}.h-60{height:calc(var(--spacing) * 60)}.h-64{height:calc(var(--spacing) * 64)}.h-72{height:calc(var(--spacing) * 72)}.h-\[36px\]{height:36px}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[280px\]{max-height:280px}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-\[60dvh\]{min-height:60dvh}.min-h-\[70dvh\]{min-height:70dvh}.min-h-\[120px\]{min-height:120px}.w-1{width:var(--spacing)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-full{width:100%}.w-px{width:1px}.max-w-\[10rem\]{max-width:10rem}.max-w-\[12rem\]{max-width:12rem}.max-w-\[16rem\]{max-width:16rem}.max-w-\[200px\]{max-width:200px}.max-w-\[240px\]{max-width:240px}.max-w-\[1600px\]{max-width:1600px}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\[1\.005\]{scale:1.005}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.scrollbar-thin{scrollbar-width:thin}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{-moz-column-gap:calc(var(--spacing) * 4);column-gap:calc(var(--spacing) * 4)}.gap-x-5{-moz-column-gap:calc(var(--spacing) * 5);column-gap:calc(var(--spacing) * 5)}.gap-x-6{-moz-column-gap:calc(var(--spacing) * 6);column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-zinc-100>:not(:last-child)){border-color:#f5f5f5}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-l-sm{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.rounded-r-sm{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent{border-color:#0891b2}.border-accent\/15{border-color:oklab(60.8911% -.0828014 -.0738333/.15)}.border-accent\/30{border-color:oklab(60.8911% -.0828014 -.0738333/.3)}.border-accent\/40{border-color:oklab(60.8911% -.0828014 -.0738333/.4)}.border-amber\/15{border-color:oklab(66.584% .082678 .133963/.15)}.border-amber\/20{border-color:oklab(66.584% .082678 .133963/.2)}.border-current{border-color:currentColor}.border-ember\/15{border-color:oklab(57.7099% .191149 .0987651/.15)}.border-ember\/20{border-color:oklab(57.7099% .191149 .0987651/.2)}.border-moss\/15{border-color:oklab(59.5971% -.121996 .0367738/.15)}.border-moss\/20{border-color:oklab(59.5971% -.121996 .0367738/.2)}.border-red-200\/40{border-color:#ffcaca66}@supports (color:color-mix(in lab, red, red)){.border-red-200\/40{border-color:color-mix(in oklab, var(--color-red-200) 40%, transparent)}}.border-zinc-100{border-color:#f5f5f5}.border-zinc-200{border-color:#e5e5e5}.border-zinc-200\/20{border-color:oklab(92.1906% 2.98023e-8 0/.2)}.border-zinc-200\/30{border-color:oklab(92.1906% 2.98023e-8 0/.3)}.border-zinc-200\/40{border-color:oklab(92.1906% 2.98023e-8 0/.4)}.border-zinc-200\/50{border-color:oklab(92.1906% 2.98023e-8 0/.5)}.border-zinc-200\/60{border-color:oklab(92.1906% 2.98023e-8 0/.6)}.border-zinc-300{border-color:#d4d4d4}.border-t-accent{border-top-color:#0891b2}.border-t-transparent{border-top-color:#0000}.bg-\[\#fafafa\]{background-color:#fafafa}.bg-accent{background-color:#0891b2}.bg-accent\/5{background-color:oklab(60.8911% -.0828014 -.0738333/.05)}.bg-accent\/10{background-color:oklab(60.8911% -.0828014 -.0738333/.1)}.bg-accent\/40{background-color:oklab(60.8911% -.0828014 -.0738333/.4)}.bg-accent\/60{background-color:oklab(60.8911% -.0828014 -.0738333/.6)}.bg-accent\/70{background-color:oklab(60.8911% -.0828014 -.0738333/.7)}.bg-accent\/\[0\.03\]{background-color:oklab(60.8911% -.0828014 -.0738333/.03)}.bg-accent\/\[0\.04\]{background-color:oklab(60.8911% -.0828014 -.0738333/.04)}.bg-amber{background-color:#d97706}.bg-amber\/5{background-color:oklab(66.584% .082678 .133963/.05)}.bg-amber\/8{background-color:oklab(66.584% .082678 .133963/.08)}.bg-amber\/10{background-color:oklab(66.584% .082678 .133963/.1)}.bg-amber\/60{background-color:oklab(66.584% .082678 .133963/.6)}.bg-ember{background-color:#dc2626}.bg-ember\/5{background-color:oklab(57.7099% .191149 .0987651/.05)}.bg-ember\/8{background-color:oklab(57.7099% .191149 .0987651/.08)}.bg-ember\/10{background-color:oklab(57.7099% .191149 .0987651/.1)}.bg-ember\/70{background-color:oklab(57.7099% .191149 .0987651/.7)}.bg-ember\/\[0\.03\]{background-color:oklab(57.7099% .191149 .0987651/.03)}.bg-moss{background-color:#059669}.bg-moss\/5{background-color:oklab(59.5971% -.121996 .0367738/.05)}.bg-moss\/10{background-color:oklab(59.5971% -.121996 .0367738/.1)}.bg-moss\/30{background-color:oklab(59.5971% -.121996 .0367738/.3)}.bg-moss\/60{background-color:oklab(59.5971% -.121996 .0367738/.6)}.bg-moss\/70{background-color:oklab(59.5971% -.121996 .0367738/.7)}.bg-moss\/\[0\.03\]{background-color:oklab(59.5971% -.121996 .0367738/.03)}.bg-red-50\/50{background-color:#fef2f280}@supports (color:color-mix(in lab, red, red)){.bg-red-50\/50{background-color:color-mix(in oklab, var(--color-red-50) 50%, transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-transparent{background-color:#0000}.bg-violet-500\/5{background-color:#8d54ff0d}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/5{background-color:color-mix(in oklab, var(--color-violet-500) 5%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/40{background-color:#fff6}@supports (color:color-mix(in lab, red, red)){.bg-white\/40{background-color:color-mix(in oklab, var(--color-white) 40%, transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab, red, red)){.bg-white\/60{background-color:color-mix(in oklab, var(--color-white) 60%, transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-zinc-50{background-color:#fafafa}.bg-zinc-50\/30{background-color:oklab(98.5104% -1.19209e-7 5.96046e-8/.3)}.bg-zinc-50\/50{background-color:oklab(98.5104% -1.19209e-7 5.96046e-8/.5)}.bg-zinc-50\/80{background-color:oklab(98.5104% -1.19209e-7 5.96046e-8/.8)}.bg-zinc-100{background-color:#f5f5f5}.bg-zinc-100\/40{background-color:oklab(97.0151% 2.98023e-8 0/.4)}.bg-zinc-100\/80{background-color:oklab(97.0151% 2.98023e-8 0/.8)}.bg-zinc-200\/50{background-color:oklab(92.1906% 2.98023e-8 0/.5)}.bg-zinc-200\/60{background-color:oklab(92.1906% 2.98023e-8 0/.6)}.bg-zinc-300{background-color:#d4d4d4}.bg-zinc-400{background-color:#a3a3a3}.bg-zinc-400\/50{background-color:oklab(71.5474% 8.9407e-8 0/.5)}.bg-zinc-600{background-color:#525252}.bg-zinc-700{background-color:#404040}.bg-zinc-800{background-color:#262626}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-10{padding:calc(var(--spacing) * 10)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:Geist Mono,JetBrains Mono,monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[6px\]{font-size:6px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:#0891b2}.text-accent\/60{color:oklab(60.8911% -.0828014 -.0738333/.6)}.text-amber{color:#d97706}.text-ember{color:#dc2626}.text-moss{color:#059669}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-violet-600{color:var(--color-violet-600)}.text-white{color:var(--color-white)}.text-zinc-300{color:#d4d4d4}.text-zinc-400{color:#a3a3a3}.text-zinc-500{color:#737373}.text-zinc-600{color:#525252}.text-zinc-700{color:#404040}.text-zinc-800{color:#262626}.text-zinc-900{color:#171717}.uppercase{text-transform:uppercase}.italic{font-style:italic}.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,)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.mix-blend-difference{mix-blend-mode:difference}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-zinc-200\/40{--tw-shadow-color:#e5e5e566}@supports (color:color-mix(in lab, red, red)){.shadow-zinc-200\/40{--tw-shadow-color:color-mix(in oklab, oklab(92.1906% 2.98023e-8 0/.4) var(--tw-shadow-alpha), transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.45\)\]{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000073));--tw-drop-shadow:var(--tw-drop-shadow-size);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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:bg-accent\/\[0\.07\]:is(:where(.group):hover *){background-color:oklab(60.8911% -.0828014 -.0738333/.07)}.group-hover\:opacity-90:is(:where(.group):hover *){opacity:.9}.group-hover\/row\:bg-zinc-50:is(:where(.group\/row):hover *){background-color:#fafafa}}.first\:pl-0:first-child{padding-left:0}.last\:pr-0:last-child{padding-right:0}.focus-within\:border-accent\/40:focus-within{border-color:oklab(60.8911% -.0828014 -.0738333/.4)}@media (hover:hover){.hover\:border-accent\/30:hover{border-color:oklab(60.8911% -.0828014 -.0738333/.3)}.hover\:bg-accent-dark:hover{background-color:#0e7490}.hover\:bg-accent\/5:hover{background-color:oklab(60.8911% -.0828014 -.0738333/.05)}.hover\:bg-accent\/90:hover{background-color:oklab(60.8911% -.0828014 -.0738333/.9)}.hover\:bg-accent\/\[0\.07\]:hover{background-color:oklab(60.8911% -.0828014 -.0738333/.07)}.hover\:bg-ember\/5:hover{background-color:oklab(57.7099% .191149 .0987651/.05)}.hover\:bg-zinc-50:hover{background-color:#fafafa}.hover\:bg-zinc-50\/80:hover{background-color:oklab(98.5104% -1.19209e-7 5.96046e-8/.8)}.hover\:bg-zinc-100:hover{background-color:#f5f5f5}.hover\:bg-zinc-200:hover{background-color:#e5e5e5}.hover\:bg-zinc-200\/60:hover{background-color:oklab(92.1906% 2.98023e-8 0/.6)}.hover\:text-accent:hover{color:#0891b2}.hover\:text-ember:hover{color:#dc2626}.hover\:text-zinc-600:hover{color:#525252}.hover\:text-zinc-700:hover{color:#404040}.hover\:opacity-100:hover{opacity:1}}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-accent\/30:focus{--tw-ring-color:oklab(60.8911% -.0828014 -.0738333/.3)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-accent:focus-visible{--tw-ring-color:#0891b2}.active\:translate-y-\[1px\]:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.95\]:active{scale:.95}.active\:scale-\[0\.97\]:active{scale:.97}.active\:scale-\[0\.98\]:active{scale:.98}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-zinc-100:active{background-color:#f5f5f5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}@media (width>=40rem){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=64rem){.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}:where(.dark\:divide-white\/\[0\.06\]:is(.dark *)>:not(:last-child)){border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){:where(.dark\:divide-white\/\[0\.06\]:is(.dark *)>:not(:last-child)){border-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.dark\:border-accent:is(.dark *){border-color:#0891b2}.dark\:border-accent\/20:is(.dark *){border-color:oklab(60.8911% -.0828014 -.0738333/.2)}.dark\:border-amber\/20:is(.dark *){border-color:oklab(66.584% .082678 .133963/.2)}.dark\:border-ember\/20:is(.dark *){border-color:oklab(57.7099% .191149 .0987651/.2)}.dark\:border-moss\/20:is(.dark *){border-color:oklab(59.5971% -.121996 .0367738/.2)}.dark\:border-red-500\/20:is(.dark *){border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.dark\:border-red-500\/20:is(.dark *){border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.dark\:border-white\/\[0\.03\]:is(.dark *){border-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/\[0\.03\]:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.dark\:border-white\/\[0\.04\]:is(.dark *){border-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/\[0\.04\]:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.dark\:border-white\/\[0\.06\]:is(.dark *){border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/\[0\.06\]:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.dark\:border-white\/\[0\.08\]:is(.dark *){border-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.dark\:border-white\/\[0\.08\]:is(.dark *){border-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.dark\:border-zinc-600:is(.dark *){border-color:#525252}.dark\:bg-\[\#18181b\]:is(.dark *){background-color:#18181b}.dark\:bg-accent\/10:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.1)}.dark\:bg-accent\/15:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.15)}.dark\:bg-accent\/\[0\.05\]:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.05)}.dark\:bg-accent\/\[0\.06\]:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.06)}.dark\:bg-accent\/\[0\.08\]:is(.dark *){background-color:oklab(60.8911% -.0828014 -.0738333/.08)}.dark\:bg-amber\/10:is(.dark *){background-color:oklab(66.584% .082678 .133963/.1)}.dark\:bg-amber\/15:is(.dark *){background-color:oklab(66.584% .082678 .133963/.15)}.dark\:bg-ember\/10:is(.dark *){background-color:oklab(57.7099% .191149 .0987651/.1)}.dark\:bg-ember\/15:is(.dark *){background-color:oklab(57.7099% .191149 .0987651/.15)}.dark\:bg-ember\/\[0\.06\]:is(.dark *){background-color:oklab(57.7099% .191149 .0987651/.06)}.dark\:bg-moss\/10:is(.dark *){background-color:oklab(59.5971% -.121996 .0367738/.1)}.dark\:bg-moss\/15:is(.dark *){background-color:oklab(59.5971% -.121996 .0367738/.15)}.dark\:bg-moss\/\[0\.06\]:is(.dark *){background-color:oklab(59.5971% -.121996 .0367738/.06)}.dark\:bg-red-500\/5:is(.dark *){background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-red-500\/5:is(.dark *){background-color:color-mix(in oklab, var(--color-red-500) 5%, transparent)}}.dark\:bg-transparent:is(.dark *){background-color:#0000}.dark\:bg-violet-500\/10:is(.dark *){background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-violet-500\/10:is(.dark *){background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.dark\:bg-white\/\[0\.01\]:is(.dark *){background-color:#ffffff03}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.01\]:is(.dark *){background-color:color-mix(in oklab, var(--color-white) 1%, transparent)}}.dark\:bg-white\/\[0\.03\]:is(.dark *){background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.03\]:is(.dark *){background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.dark\:bg-white\/\[0\.04\]:is(.dark *){background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.04\]:is(.dark *){background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.dark\:bg-white\/\[0\.06\]:is(.dark *){background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.dark\:bg-white\/\[0\.06\]:is(.dark *){background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.dark\:bg-zinc-300:is(.dark *){background-color:#d4d4d4}.dark\:bg-zinc-400:is(.dark *){background-color:#a3a3a3}.dark\:bg-zinc-500\/60:is(.dark *){background-color:oklab(55.5527% 0 0/.6)}.dark\:bg-zinc-600:is(.dark *){background-color:#525252}.dark\:bg-zinc-700\/40:is(.dark *){background-color:oklab(37.1495% -4.47035e-8 0/.4)}.dark\:bg-zinc-700\/60:is(.dark *){background-color:oklab(37.1495% -4.47035e-8 0/.6)}.dark\:bg-zinc-800:is(.dark *){background-color:#262626}.dark\:bg-zinc-800\/20:is(.dark *){background-color:oklab(26.8618% 4.47035e-8 0/.2)}.dark\:bg-zinc-800\/40:is(.dark *){background-color:oklab(26.8618% 4.47035e-8 0/.4)}.dark\:bg-zinc-800\/50:is(.dark *){background-color:oklab(26.8618% 4.47035e-8 0/.5)}.dark\:bg-zinc-800\/95:is(.dark *){background-color:oklab(26.8618% 4.47035e-8 0/.95)}.dark\:bg-zinc-900:is(.dark *){background-color:#171717}.dark\:text-red-400:is(.dark *){color:var(--color-red-400)}.dark\:text-violet-300:is(.dark *){color:var(--color-violet-300)}.dark\:text-zinc-200:is(.dark *){color:#e5e5e5}.dark\:text-zinc-300:is(.dark *){color:#d4d4d4}.dark\:text-zinc-400:is(.dark *){color:#a3a3a3}.dark\:text-zinc-500:is(.dark *){color:#737373}.dark\:text-zinc-600:is(.dark *){color:#525252}.dark\:text-zinc-700:is(.dark *){color:#404040}.dark\:opacity-40:is(.dark *){opacity:.4}.dark\:shadow-black\/20:is(.dark *){--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.dark\:shadow-black\/20:is(.dark *){--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}@media (hover:hover){.dark\:group-hover\/row\:bg-\[\#28282d\]:is(.dark *):is(:where(.group\/row):hover *){background-color:#28282d}}.dark\:focus-within\:border-accent\/40:is(.dark *):focus-within{border-color:oklab(60.8911% -.0828014 -.0738333/.4)}@media (hover:hover){.dark\:hover\:border-accent\/40:is(.dark *):hover{border-color:oklab(60.8911% -.0828014 -.0738333/.4)}.dark\:hover\:bg-\[\#28282d\]:is(.dark *):hover{background-color:#28282d}.dark\:hover\:bg-accent\/10:is(.dark *):hover{background-color:oklab(60.8911% -.0828014 -.0738333/.1)}.dark\:hover\:bg-accent\/\[0\.14\]:is(.dark *):hover{background-color:oklab(60.8911% -.0828014 -.0738333/.14)}.dark\:hover\:bg-ember\/10:is(.dark *):hover{background-color:oklab(57.7099% .191149 .0987651/.1)}.dark\:hover\:bg-white\/\[0\.02\]:is(.dark *):hover{background-color:#ffffff05}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/\[0\.02\]:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-white) 2%, transparent)}}.dark\:hover\:bg-white\/\[0\.04\]:is(.dark *):hover{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/\[0\.04\]:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.dark\:hover\:bg-white\/\[0\.06\]:is(.dark *):hover{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/\[0\.06\]:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.dark\:hover\:bg-white\/\[0\.08\]:is(.dark *):hover{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-white\/\[0\.08\]:is(.dark *):hover{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.dark\:hover\:text-accent-light:is(.dark *):hover{color:#06b6d4}.dark\:hover\:text-zinc-200:is(.dark *):hover{color:#e5e5e5}.dark\:hover\:text-zinc-300:is(.dark *):hover{color:#d4d4d4}}.dark\:active\:bg-white\/\[0\.08\]:is(.dark *):active{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.dark\:active\:bg-white\/\[0\.08\]:is(.dark *):active{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:#a1a1aa4d transparent}.scrollbar-thin::-webkit-scrollbar{width:5px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#a1a1aa4d;border-radius:9999px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#a1a1aa80}.dark .scrollbar-thin{scrollbar-color:#71717a4d transparent}.dark .scrollbar-thin::-webkit-scrollbar-thumb{background-color:#71717a4d}.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#71717a80}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:#a1a1aa33 transparent;overscroll-behavior:none}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#a1a1aa40;border-radius:9999px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#a1a1aa66}.dark .custom-scrollbar{scrollbar-color:#71717a33 transparent}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#71717a40}.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#71717a66}}@font-face{font-family:Geist;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.0/dist/fonts/geist-sans/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.0/dist/fonts/geist-mono/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafa;--surface:#fff;--surface-raised:#fff;--border:#e4e4e780;--text-primary:#09090b;--text-secondary:#71717a;--text-tertiary:#a1a1aa;--accent:#0891b2;--accent-light:#06b6d4;--accent-muted:#164e63}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#18181b;--surface:#1e1e22;--surface-raised:#27272a;--border:#ffffff0f;--text-primary:#d4d4d8;--text-secondary:#a1a1aa;--text-tertiary:#71717a;--accent:#06b6d4;--accent-light:#22d3ee;--accent-muted:#164e63}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist,system-ui,sans-serif}body{background:var(--bg);color:var(--text-primary);min-height:100dvh}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete{background-color:#fff;border:1px solid #e4e4e799;border-radius:8px;box-shadow:0 4px 12px -2px #00000014,0 20px 40px -15px #0000001a}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li{color:#09090b;padding:4px 8px;font-family:Geist Mono,JetBrains Mono,monospace;font-size:12px}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected]{color:#0891b2;background-color:#0891b214}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li .cm-completionLabel{color:#09090b}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected] .cm-completionLabel{color:#0891b2}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li .cm-completionDetail{color:#a1a1aa;font-style:normal}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected] .cm-completionDetail{color:#71717a}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-class:after{color:#0e7490;content:"●"!important;font-size:10px!important}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-property:after{color:#7c3aed;content:"▪"!important;font-size:9px!important}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-keyword:after{color:#0e7490;content:"◆"!important;font-size:9px!important}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-function:after{color:#9333ea;content:"ƒ"!important}.cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-type:after{color:#15803d;content:"⟩"!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete{background-color:#27272a;border:1px solid #ffffff14;border-radius:8px;box-shadow:0 4px 12px -2px #0000004d,0 8px 24px -8px #00000080}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li{color:#d4d4d8}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected]{color:#22d3ee;background-color:#06b6d41f}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li .cm-completionLabel{color:#d4d4d8}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected] .cm-completionLabel{color:#22d3ee}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li .cm-completionDetail{color:#52525b}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete>ul>li[aria-selected] .cm-completionDetail{color:#71717a}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-class:after{color:#22d3ee;content:"●"!important;font-size:10px!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-property:after{color:#c084fc;content:"▪"!important;font-size:9px!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-keyword:after{color:#22d3ee;content:"◆"!important;font-size:9px!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-function:after{color:#c084fc;content:"ƒ"!important}.dark .cm-tooltip.cm-tooltip-autocomplete.cm-tps-autocomplete .cm-completionIcon-type:after{color:#4ade80;content:"⟩"!important}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
package/dist/index.html CHANGED
@@ -16,8 +16,8 @@
16
16
  }
17
17
  })();
18
18
  </script>
19
- <script type="module" crossorigin src="/assets/index-CtpS84B_.js"></script>
20
- <link rel="stylesheet" crossorigin href="/assets/index-TOkfPWFE.css">
19
+ <script type="module" crossorigin src="/assets/index-BRRUrAmF.js"></script>
20
+ <link rel="stylesheet" crossorigin href="/assets/index-Batozahl.css">
21
21
  </head>
22
22
  <body>
23
23
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-tps-web",
3
- "version": "1.7.3",
3
+ "version": "1.7.4",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "scripts": {