tinker-translate 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,7 +9,6 @@ A translation plugin for [TINKER](https://github.com/liriliri/tinker), supportin
9
9
  - **Google, Bing & DeepL** translation services
10
10
  - **16+ languages** support
11
11
  - **Auto-detect** source language
12
- - **i18n** support for English and Chinese
13
12
 
14
13
  ## Installation
15
14
 
@@ -1,2 +1,2 @@
1
- "use strict";const z=require("electron"),G=require("https");function v(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var E={exports:{}},y={exports:{}},T={exports:{}};(function(e,t){t=function(r){return r===void 0},e.exports=t})(T,T.exports);var I=T.exports;(function(e,t){var r=I;t=function(n,o,a){if(r(o))return n;switch(a??3){case 1:return function(s){return n.call(o,s)};case 3:return function(s,i,c){return n.call(o,s,i,c)};case 4:return function(s,i,c,p){return n.call(o,s,i,c,p)}}return function(){return n.apply(o,arguments)}},e.exports=t})(y,y.exports);var B=y.exports,S={exports:{}},A={exports:{}},b={exports:{}};(function(e,t){var r=Object.prototype.toString;t=function(n){return r.call(n)},e.exports=t})(b,b.exports);var R=b.exports;(function(e,t){var r=R;t=function(n){return r(n)==="[object Number]"},e.exports=t})(A,A.exports);var D=A.exports,C={exports:{}};(function(e,t){var r=R;t=function(n){var o=r(n);return o==="[object Function]"||o==="[object GeneratorFunction]"||o==="[object AsyncFunction]"},e.exports=t})(C,C.exports);var H=C.exports;(function(e,t){var r=D,n=H,o=Math.pow(2,53)-1;t=function(a){if(!a)return!1;var s=a.length;return r(s)&&s>=0&&s<=o&&!n(a)},e.exports=t})(S,S.exports);var J=S.exports,L={exports:{}},O={exports:{}};(function(e,t){var r=Object.prototype.hasOwnProperty;t=function(n,o){return r.call(n,o)},e.exports=t})(O,O.exports);var j=O.exports;(function(e,t){var r=j;Object.keys?t=Object.keys:t=function(n){var o=[];for(var a in n)r(n,a)&&o.push(a);return o},e.exports=t})(L,L.exports);var K=L.exports;(function(e,t){var r=B,n=J,o=I,a=K;t=s(1),t.create=s;function s(i){return function(c,p,u,d){p=r(p,d);var l,f,g;if(n(c))for(f=c.length,l=i>0?0:f-1,o(u)&&(u=c[l],l+=i);l<f&&l>=0;l+=i)u=p(u,c[l],l,c);else{var w=a(c);for(f=w.length,l=i>0?0:f-1,o(u)&&(u=c[w[l]],l+=i);l<f&&l>=0;l+=i)g=w[l],u=p(u,c[g],g,c)}return u}}e.exports=t})(E,E.exports);var X=E.exports;const Y=v(X);var k={exports:{}},P={exports:{}},M={exports:{}};(function(e,t){var r=R;Array.isArray?t=Array.isArray:t=function(n){return r(n)==="[object Array]"},e.exports=t})(M,M.exports);var Q=M.exports;(function(e,t){var r=j,n=Q;t=function(s,i){if(n(s))return s;if(i&&r(i,s))return[s];var c=[];return s.replace(o,function(p,u,d,l){c.push(d?l.replace(a,"$1"):u||p)}),c};var o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g;e.exports=t})(P,P.exports);var V=P.exports;(function(e,t){var r=I,n=V;t=function(o,a){a=n(a,o);var s;for(s=a.shift();!r(s);){if(o=o[s],o==null)return;s=a.shift()}return o},e.exports=t})(k,k.exports);var Z=k.exports;const h=v(Z);var $={exports:{}},N={exports:{}};(function(e,t){var r=/^\s+/;t=function(n,o){if(o==null)return n.trimLeft?n.trimLeft():n.replace(r,"");for(var a=0,s=n.length,i=o.length,c=!0,p,u;c&&a<s;)for(c=!1,p=-1,u=n.charAt(a);++p<i;)if(u===o[p]){c=!0,a++;break}return a>=s?"":n.substr(a,s)},e.exports=t})(N,N.exports);var tt=N.exports,U={exports:{}};(function(e,t){t=function(r,n){if(n==null){if(r.trimRight)return r.trimRight();n=` \r
2
- \f\v`}for(var o=r.length-1,a=n.length,s=!0,i,c;s&&o>=0;)for(s=!1,i=-1,c=r.charAt(o);++i<a;)if(c===n[i]){s=!0,o--;break}return o>=0?r.substring(0,o+1):""},e.exports=t})(U,U.exports);var rt=U.exports;(function(e,t){var r=tt,n=rt;t=function(o,a){return a==null&&o.trim?o.trim():r(n(o,a),a)},e.exports=t})($,$.exports);var et=$.exports;const x=v(et);function m(e,t){return new Promise((r,n)=>{const o=G.request(e,a=>{let s="";a.on("data",i=>{s+=i}),a.on("end",()=>{r({statusCode:a.statusCode,data:s})})});o.on("error",n),t&&o.write(t),o.end()})}async function nt(e,t,r){const o={hostname:"translate.google.com",port:443,path:`/translate_a/single?dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&${new URLSearchParams({client:"gtx",sl:t,tl:r,hl:r,ie:"UTF-8",oe:"UTF-8",otf:"1",ssel:"0",tsel:"0",kc:"7",q:e}).toString()}`,method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"}},{statusCode:a,data:s}=await m(o);if(a!==200)throw new Error(`HTTP Error: ${a}`);const i=JSON.parse(s),c=h(i,"0"),p=Y(c??[],(u,d)=>u+(h(d,"0")??""),"");return{text:x(p)}}async function ot(){const e={hostname:"edge.microsoft.com",port:443,path:"/translate/auth",method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42"}},{statusCode:t,data:r}=await m(e);if(t!==200)throw new Error(`Failed to get token: ${t}`);return r}async function at(e,t,r){const n=await ot(),o=new URLSearchParams({from:t==="auto"?"":t,to:r,"api-version":"3.0",includeSentenceLength:"true"}),a=JSON.stringify([{Text:e}]),s={hostname:"api-edge.cognitive.microsofttranslator.com",port:443,path:`/translate?${o.toString()}`,method:"POST",headers:{accept:"*/*","accept-language":"zh-TW,zh;q=0.9,ja;q=0.8,zh-CN;q=0.7,en-US;q=0.6,en;q=0.5",authorization:"Bearer "+n,"cache-control":"no-cache","content-type":"application/json","content-length":Buffer.byteLength(a),pragma:"no-cache","sec-ch-ua":'"Microsoft Edge";v="113", "Chromium";v="113", "Not-A.Brand";v="24"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"cross-site",Referer:"https://appsumo.com/","Referrer-Policy":"strict-origin-when-cross-origin","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42"}},{statusCode:i,data:c}=await m(s,a);if(i!==200)throw new Error(`HTTP Error: ${i}`);const p=JSON.parse(c),u=h(p,"[0].translations[0].text");if(!u)throw new Error("Invalid response format");return{text:x(u)}}var W={exports:{}};(function(e,t){t=function(r,n,o){n==null&&(n=r,r=0);var a=Math.random();return o||r%1||n%1?Math.min(r+a*(n-r+parseFloat("1e-"+((a+"").length-1))),n):r+Math.floor(a*(n-r+1))},e.exports=t})(W,W.exports);var st=W.exports;const it=v(st);var q={exports:{}},F={exports:{}};(function(e,t){t=function(r){return r==null?"":r.toString()},e.exports=t})(F,F.exports);var ct=F.exports;(function(e,t){var r=ct;t=function(n){return r(n).toLocaleUpperCase()},e.exports=t})(q,q.exports);var ut=q.exports;const _=v(ut);function pt(e){return e.split("i").length-1}function lt(e){const t=Date.now();if(e!==0){const r=e+1;return t-t%r+r}return t}function ft(){return it(1e5,199998)*1e3}async function ht(e,t,r){const n=ft(),o={jsonrpc:"2.0",method:"LMT_handle_texts",id:n,params:{splitting:"newlines",lang:{source_lang_user_selected:t!=="auto"?_(t.slice(0,2)):"auto",target_lang:_(r.slice(0,2))},texts:[{text:e,requestAlternatives:3}],timestamp:lt(pt(e))}};let a=JSON.stringify(o);(n+5)%29===0||(n+3)%13===0?a=a.replace('"method":"','"method" : "'):a=a.replace('"method":"','"method": "');const s={hostname:"www2.deepl.com",port:443,path:"/jsonrpc",method:"POST",headers:{"Content-Type":"application/json","Content-Length":Buffer.byteLength(a)}},{statusCode:i,data:c}=await m(s,a);if(i!==200)throw new Error(`HTTP Error: ${i}`);const p=JSON.parse(c),u=h(p,"result.texts[0].text");if(u)return{text:x(u)};throw new Error(h(p,"error.message")??"Invalid response format")}async function dt(e,t,r){const o=`You are a professional translator. Translate the user's text from ${t==="auto"?"auto-detected":t} to ${r}. Output only the translated text without any explanation or extra content.`,a=await tinker.callAI({messages:[{role:"system",content:o},{role:"user",content:e}]}),s=h(a,"data.content");if(!a.success||!s)throw new Error(a.error??"Invalid AI response");return{text:x(s)}}const vt={translate:async(e,t,r,n="google")=>n==="bing"?await at(e,t,r):n==="deepl"?await ht(e,t,r):n==="ai"?await dt(e,t,r):await nt(e,t,r)};z.contextBridge.exposeInMainWorld("translate",vt);
1
+ "use strict";const G=require("electron"),B=require("https");function h(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var S={exports:{}},y={exports:{}},T={exports:{}};(function(e,t){t=function(r){return r===void 0},e.exports=t})(T,T.exports);var R=T.exports;(function(e,t){var r=R;t=function(n,o,a){if(r(o))return n;switch(a??3){case 1:return function(s){return n.call(o,s)};case 3:return function(s,i,c){return n.call(o,s,i,c)};case 4:return function(s,i,c,p){return n.call(o,s,i,c,p)}}return function(){return n.apply(o,arguments)}},e.exports=t})(y,y.exports);var D=y.exports,A={exports:{}},b={exports:{}},C={exports:{}};(function(e,t){var r=Object.prototype.toString;t=function(n){return r.call(n)},e.exports=t})(C,C.exports);var x=C.exports;(function(e,t){var r=x;t=function(n){return r(n)==="[object Number]"},e.exports=t})(b,b.exports);var H=b.exports,L={exports:{}};(function(e,t){var r=x;t=function(n){var o=r(n);return o==="[object Function]"||o==="[object GeneratorFunction]"||o==="[object AsyncFunction]"},e.exports=t})(L,L.exports);var J=L.exports;(function(e,t){var r=H,n=J,o=Math.pow(2,53)-1;t=function(a){if(!a)return!1;var s=a.length;return r(s)&&s>=0&&s<=o&&!n(a)},e.exports=t})(A,A.exports);var K=A.exports,O={exports:{}},k={exports:{}};(function(e,t){var r=Object.prototype.hasOwnProperty;t=function(n,o){return r.call(n,o)},e.exports=t})(k,k.exports);var z=k.exports;(function(e,t){var r=z;Object.keys?t=Object.keys:t=function(n){var o=[];for(var a in n)r(n,a)&&o.push(a);return o},e.exports=t})(O,O.exports);var X=O.exports;(function(e,t){var r=D,n=K,o=R,a=X;t=s(1),t.create=s;function s(i){return function(c,p,u,d){p=r(p,d);var l,f,w;if(n(c))for(f=c.length,l=i>0?0:f-1,o(u)&&(u=c[l],l+=i);l<f&&l>=0;l+=i)u=p(u,c[l],l,c);else{var E=a(c);for(f=E.length,l=i>0?0:f-1,o(u)&&(u=c[E[l]],l+=i);l<f&&l>=0;l+=i)w=E[l],u=p(u,c[w],w,c)}return u}}e.exports=t})(S,S.exports);var Y=S.exports;const Q=h(Y);var P={exports:{}},M={exports:{}},$={exports:{}};(function(e,t){var r=x;Array.isArray?t=Array.isArray:t=function(n){return r(n)==="[object Array]"},e.exports=t})($,$.exports);var V=$.exports;(function(e,t){var r=z,n=V;t=function(s,i){if(n(s))return s;if(i&&r(i,s))return[s];var c=[];return s.replace(o,function(p,u,d,l){c.push(d?l.replace(a,"$1"):u||p)}),c};var o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g;e.exports=t})(M,M.exports);var Z=M.exports;(function(e,t){var r=R,n=Z;t=function(o,a){a=n(a,o);var s;for(s=a.shift();!r(s);){if(o=o[s],o==null)return;s=a.shift()}return o},e.exports=t})(P,P.exports);var tt=P.exports;const v=h(tt);var N={exports:{}},U={exports:{}};(function(e,t){var r=/^\s+/;t=function(n,o){if(o==null)return n.trimLeft?n.trimLeft():n.replace(r,"");for(var a=0,s=n.length,i=o.length,c=!0,p,u;c&&a<s;)for(c=!1,p=-1,u=n.charAt(a);++p<i;)if(u===o[p]){c=!0,a++;break}return a>=s?"":n.substr(a,s)},e.exports=t})(U,U.exports);var rt=U.exports,W={exports:{}};(function(e,t){t=function(r,n){if(n==null){if(r.trimRight)return r.trimRight();n=` \r
2
+ \f\v`}for(var o=r.length-1,a=n.length,s=!0,i,c;s&&o>=0;)for(s=!1,i=-1,c=r.charAt(o);++i<a;)if(c===n[i]){s=!0,o--;break}return o>=0?r.substring(0,o+1):""},e.exports=t})(W,W.exports);var et=W.exports;(function(e,t){var r=rt,n=et;t=function(o,a){return a==null&&o.trim?o.trim():r(n(o,a),a)},e.exports=t})(N,N.exports);var nt=N.exports;const m=h(nt);function g(e,t){return new Promise((r,n)=>{const o=B.request(e,a=>{let s="";a.on("data",i=>{s+=i}),a.on("end",()=>{r({statusCode:a.statusCode,data:s})})});o.on("error",n),t&&o.write(t),o.end()})}async function ot(e,t,r){const o={hostname:"translate.google.com",port:443,path:`/translate_a/single?dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&${new URLSearchParams({client:"gtx",sl:t,tl:r,hl:r,ie:"UTF-8",oe:"UTF-8",otf:"1",ssel:"0",tsel:"0",kc:"7",q:e}).toString()}`,method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"}},{statusCode:a,data:s}=await g(o);if(a!==200)throw new Error(`HTTP Error: ${a}`);const i=JSON.parse(s),c=v(i,"0"),p=Q(c??[],(u,d)=>u+(v(d,"0")??""),"");return{text:m(p)}}async function at(){const e={hostname:"edge.microsoft.com",port:443,path:"/translate/auth",method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42"}},{statusCode:t,data:r}=await g(e);if(t!==200)throw new Error(`Failed to get token: ${t}`);return r}async function st(e,t,r){const n=await at(),o=new URLSearchParams({from:t==="auto"?"":t,to:r,"api-version":"3.0",includeSentenceLength:"true"}),a=JSON.stringify([{Text:e}]),s={hostname:"api-edge.cognitive.microsofttranslator.com",port:443,path:`/translate?${o.toString()}`,method:"POST",headers:{accept:"*/*","accept-language":"zh-TW,zh;q=0.9,ja;q=0.8,zh-CN;q=0.7,en-US;q=0.6,en;q=0.5",authorization:"Bearer "+n,"cache-control":"no-cache","content-type":"application/json","content-length":Buffer.byteLength(a),pragma:"no-cache","sec-ch-ua":'"Microsoft Edge";v="113", "Chromium";v="113", "Not-A.Brand";v="24"',"sec-ch-ua-mobile":"?0","sec-ch-ua-platform":'"Windows"',"sec-fetch-dest":"empty","sec-fetch-mode":"cors","sec-fetch-site":"cross-site",Referer:"https://appsumo.com/","Referrer-Policy":"strict-origin-when-cross-origin","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42"}},{statusCode:i,data:c}=await g(s,a);if(i!==200)throw new Error(`HTTP Error: ${i}`);const p=JSON.parse(c),u=v(p,"[0].translations[0].text");if(!u)throw new Error("Invalid response format");return{text:m(u)}}var q={exports:{}};(function(e,t){t=function(r,n,o){n==null&&(n=r,r=0);var a=Math.random();return o||r%1||n%1?Math.min(r+a*(n-r+parseFloat("1e-"+((a+"").length-1))),n):r+Math.floor(a*(n-r+1))},e.exports=t})(q,q.exports);var it=q.exports;const ct=h(it);var j={exports:{}},F={exports:{}};(function(e,t){t=function(r){return r==null?"":r.toString()},e.exports=t})(F,F.exports);var ut=F.exports;(function(e,t){var r=ut;t=function(n){return r(n).toLocaleUpperCase()},e.exports=t})(j,j.exports);var pt=j.exports;const _=h(pt);function lt(e){return e.split("i").length-1}function ft(e){const t=Date.now();if(e!==0){const r=e+1;return t-t%r+r}return t}function ht(){return ct(1e5,199998)*1e3}async function dt(e,t,r){const n=ht(),o={jsonrpc:"2.0",method:"LMT_handle_texts",id:n,params:{splitting:"newlines",lang:{source_lang_user_selected:t!=="auto"?_(t.slice(0,2)):"auto",target_lang:_(r.slice(0,2))},texts:[{text:e,requestAlternatives:3}],timestamp:ft(lt(e))}};let a=JSON.stringify(o);(n+5)%29===0||(n+3)%13===0?a=a.replace('"method":"','"method" : "'):a=a.replace('"method":"','"method": "');const s={hostname:"www2.deepl.com",port:443,path:"/jsonrpc",method:"POST",headers:{"Content-Type":"application/json","Content-Length":Buffer.byteLength(a)}},{statusCode:i,data:c}=await g(s,a);if(i!==200)throw new Error(`HTTP Error: ${i}`);const p=JSON.parse(c),u=v(p,"result.texts[0].text");if(u)return{text:m(u)};throw new Error(v(p,"error.message")??"Invalid response format")}var I={exports:{}};(function(e,t){var r=x;t=function(n){return r(n)==="[object String]"},e.exports=t})(I,I.exports);var vt=I.exports;const xt=h(vt);async function mt(e,t,r){const o=`You are a professional translator. Translate the user's text from ${t==="auto"?"auto-detected":t} to ${r}. Output only the translated text without any explanation or extra content.`,a=await tinker.callAI({messages:[{role:"system",content:o},{role:"user",content:e}]});if(!xt(a.content)||!a.content)throw new Error("Invalid AI response");return{text:m(a.content)}}const gt={translate:async(e,t,r,n="google")=>n==="bing"?await st(e,t,r):n==="deepl"?await dt(e,t,r):n==="ai"?await mt(e,t,r):await ot(e,t,r)};G.contextBridge.exposeInMainWorld("translate",gt);
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight: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-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-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-950:oklch(26.2% .051 172.552);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-stone-50:oklch(98.5% .001 106.423);--color-stone-100:oklch(97% .001 106.424);--color-stone-200:oklch(92.3% .003 48.717);--color-stone-300:oklch(86.9% .005 56.366);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-stone-600:oklch(44.4% .011 73.639);--color-stone-700:oklch(37.4% .01 67.558);--color-stone-800:oklch(26.8% .007 34.298);--color-stone-900:oklch(21.6% .006 56.043);--color-stone-950:oklch(14.7% .004 49.25);--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.ml-auto{margin-left:auto}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-7{height:calc(var(--spacing) * 7)}.h-\[3\.5px\]{height:3.5px}.h-\[26px\]{height:26px}.h-screen{height:100vh}.min-h-0{min-height:0}.min-h-11\.5{min-height:calc(var(--spacing) * 11.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-7{width:calc(var(--spacing) * 7)}.w-22{width:calc(var(--spacing) * 22)}.w-72{width:calc(var(--spacing) * 72)}.w-\[3\.5px\]{width:3.5px}.w-full{width:100%}.min-w-0{min-width:0}.min-w-13{min-width:calc(var(--spacing) * 13)}.min-w-32\.5{min-width:calc(var(--spacing) * 32.5)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-dot-pulse{animation:1.1s ease-in-out infinite dotPulse}.animate-dot-pulse-2{animation:1.1s ease-in-out .18s infinite dotPulse}.animate-dot-pulse-3{animation:1.1s ease-in-out .36s infinite dotPulse}.animate-fade-up{animation:.22s ease-out fadeUp}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-0\.75{gap:calc(var(--spacing) * .75)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-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-none{--tw-border-style:none;border-style:none}.border-emerald-400{border-color:var(--color-emerald-400)}.border-stone-100{border-color:var(--color-stone-100)}.border-stone-200{border-color:var(--color-stone-200)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-current{background-color:currentColor}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-stone-50{background-color:var(--color-stone-50)}.bg-stone-100{background-color:var(--color-stone-100)}.bg-stone-900{background-color:var(--color-stone-900)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.fill-stone-900{fill:var(--color-stone-900)}.p-1{padding:var(--spacing)}.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-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:var(--spacing)}.py-1\.25{padding-block:calc(var(--spacing) * 1.25)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.pl-6\.5{padding-left:calc(var(--spacing) * 6.5)}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-\[1\.75\]{--tw-leading:1.75;line-height:1.75}.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)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-blue-500{color:var(--color-blue-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-red-600{color:var(--color-red-600)}.text-stone-300{color:var(--color-stone-300)}.text-stone-400{color:var(--color-stone-400)}.text-stone-500{color:var(--color-stone-500)}.text-stone-700{color:var(--color-stone-700)}.text-stone-900{color:var(--color-stone-900)}.text-white{color:var(--color-white)}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-stone-300::placeholder{color:var(--color-stone-300)}.shadow-\[0_8px_24px_rgba\(0\,0\,0\,0\.1\)\,0_2px_6px_rgba\(0\,0\,0\,0\.06\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#0000001a), 0 2px 6px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.34\,1\.4\,0\.64\,1\)\]{--tw-ease:cubic-bezier(.34,1.4,.64,1);transition-timing-function:cubic-bezier(.34,1.4,.64,1)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-enabled\:group-hover\:rotate-180:is(:where(.group):enabled *):is(:where(.group):hover *){rotate:180deg}.hover\:-translate-y-px:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-stone-100:hover{background-color:var(--color-stone-100)}.hover\:text-stone-600:hover{color:var(--color-stone-600)}.hover\:text-stone-700:hover{color:var(--color-stone-700)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-highlighted\:bg-stone-100[data-highlighted]{background-color:var(--color-stone-100)}.data-\[state\=checked\]\:font-semibold[data-state=checked]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.data-\[state\=checked\]\:text-blue-600[data-state=checked]{color:var(--color-blue-600)}.data-\[state\=closed\]\:opacity-0[data-state=closed]{opacity:0}.data-\[state\=open\]\:animate-fade-up[data-state=open]{animation:.22s ease-out fadeUp}@media (prefers-color-scheme:dark){.dark\:border-emerald-700{border-color:var(--color-emerald-700)}.dark\:border-stone-700{border-color:var(--color-stone-700)}.dark\:bg-blue-600{background-color:var(--color-blue-600)}.dark\:bg-emerald-950\/30{background-color:#002c224d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-emerald-950\/30{background-color:color-mix(in oklab,var(--color-emerald-950) 30%,transparent)}}.dark\:bg-stone-100{background-color:var(--color-stone-100)}.dark\:bg-stone-800{background-color:var(--color-stone-800)}.dark\:bg-stone-900{background-color:var(--color-stone-900)}.dark\:bg-stone-950{background-color:var(--color-stone-950)}.dark\:fill-stone-100{fill:var(--color-stone-100)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-emerald-400{color:var(--color-emerald-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-stone-100{color:var(--color-stone-100)}.dark\:text-stone-300{color:var(--color-stone-300)}.dark\:text-stone-400{color:var(--color-stone-400)}.dark\:text-stone-500{color:var(--color-stone-500)}.dark\:text-stone-600{color:var(--color-stone-600)}.dark\:text-stone-900{color:var(--color-stone-900)}.dark\:placeholder-stone-600::placeholder{color:var(--color-stone-600)}.dark\:shadow-\[0_8px_24px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}@media (hover:hover){.dark\:hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.dark\:hover\:bg-stone-800:hover{background-color:var(--color-stone-800)}.dark\:hover\:text-stone-200:hover{color:var(--color-stone-200)}.dark\:hover\:text-stone-300:hover{color:var(--color-stone-300)}}.dark\:data-highlighted\:bg-stone-700[data-highlighted]{background-color:var(--color-stone-700)}.dark\:data-\[state\=checked\]\:text-blue-400[data-state=checked]{color:var(--color-blue-400)}}}html.dark{color-scheme:dark}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d6d3d1;border-radius:2px}@media (prefers-color-scheme:dark){::-webkit-scrollbar-thumb{background:#57534d}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{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-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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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}@keyframes fadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes dotPulse{0%,60%,to{opacity:.25;transform:scale(.75)}30%{opacity:1;transform:scale(1)}}