@deepseekcode/cli 1.0.31 → 1.0.32

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.
Files changed (27) hide show
  1. package/dist/cli.js +1014 -986
  2. package/package.json +1 -1
  3. package/web/dist/assets/{AutomationView-InguWZFs.js → AutomationView-noin0gml.js} +1 -1
  4. package/web/dist/assets/{ChannelConfigView-egYtlZj-.js → ChannelConfigView-DEVlfJVl.js} +1 -1
  5. package/web/dist/assets/ConnectorsView-FRNDKlb1.js +1 -0
  6. package/web/dist/assets/{FileTreeView-BT45_XVy.js → FileTreeView-CRU3wlL7.js} +1 -1
  7. package/web/dist/assets/{HookConfigView-DYF8WoqD.js → HookConfigView-G_tMdsSY.js} +1 -1
  8. package/web/dist/assets/{ModelsView-C_hShQeY.js → ModelsView-BPrALmm-.js} +1 -1
  9. package/web/dist/assets/{PluginsView-CFAStd5I.js → PluginsView-CSsLREwr.js} +1 -1
  10. package/web/dist/assets/{SessionGrid-aZvfkGsH.js → SessionGrid-5vbo06Z-.js} +3 -3
  11. package/web/dist/assets/SettingsPanel-DHjlXpnc.js +4 -0
  12. package/web/dist/assets/{SkillsView-DqLfpF41.js → SkillsView-k7vo4Dff.js} +1 -1
  13. package/web/dist/assets/{TemplatesTab-CQy-UXLH.js → TemplatesTab-DBidZ7nt.js} +1 -1
  14. package/web/dist/assets/{TerminalView-DFjhMeyT.js → TerminalView-mapIJJiF.js} +1 -1
  15. package/web/dist/assets/{ThreeScene-Zhjwe9nT.js → ThreeScene-kThQ4Gje.js} +1 -1
  16. package/web/dist/assets/{ToolsView-D3HqxE7K.js → ToolsView-DN79cN0e.js} +1 -1
  17. package/web/dist/assets/{icons-Di-qMB6n.js → icons-CzbnMA_A.js} +118 -138
  18. package/web/dist/assets/{index-CWqFf5l2.js → index-BkOuwmp0.js} +37 -37
  19. package/web/dist/assets/index-WFC9Ul-K.css +1 -0
  20. package/web/dist/assets/{markdown-D-c9V8Xq.js → markdown-DgQXGfEL.js} +1 -1
  21. package/web/dist/assets/{panels-CpHTincc.js → panels-DT6anR-S.js} +1 -1
  22. package/web/dist/assets/{react-vendor-DU8XgZt2.js → react-vendor-DE4ttehJ.js} +1 -1
  23. package/web/dist/assets/{state-D2vcUGVk.js → state-8gdqAHaM.js} +1 -1
  24. package/web/dist/index.html +7 -7
  25. package/web/dist/assets/ConnectorsView-5Ii67NnU.js +0 -1
  26. package/web/dist/assets/SettingsPanel-DpXhjWLN.js +0 -4
  27. package/web/dist/assets/index-BbLAiXis.css +0 -1
@@ -1,4 +0,0 @@
1
- import{j as e}from"./markdown-D-c9V8Xq.js";import{a,h as H,F as oe,$ as K,a8 as de,aO as xe,l as Y,L as W,b as Z,ba as J,o as ue,b1 as q,D as me,k as pe,aQ as le,bb as ie,E as X,bc as he,bd as ge,be,al as fe,O as ee,aR as je,bf as te,_ as se,bg as ke,b4 as ve,t as ye,bh as Ne,bi as we,a9 as Ce,ac as Se}from"./icons-Di-qMB6n.js";import{a as E,t as h,u as G,d as ae,f as Te,U as ze,V as Ee,X as $e,z as ne}from"./index-CWqFf5l2.js";import{n as Oe,s as Me}from"./sttLanguages-BNRptAQA.js";import"./react-vendor-DU8XgZt2.js";import"./state-D2vcUGVk.js";import"./panels-CpHTincc.js";function Be(t){return t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function Ie(t){return new Date(t).toLocaleString()}function Le(){const[t,o]=a.useState([]),[i,n]=a.useState(null),[p,l]=a.useState(""),[b,f]=a.useState(""),[j,x]=a.useState(!1),[k,w]=a.useState(!1),C=a.useCallback(async()=>{x(!0);try{const s=await E.config.files.list();s.success&&Array.isArray(s.data)&&o(s.data)}catch{h.error("Failed to load config files")}finally{x(!1)}},[]),v=a.useCallback(async s=>{try{const m=await E.config.files.read(s);if(m.success&&m.data){const d=m.data;n(d.name),l(d.content),f(d.content)}}catch{h.error(`Failed to read ${s}`)}},[]);a.useEffect(()=>{C()},[C]);const A=a.useCallback(async()=>{if(i){w(!0);try{const s=await E.config.files.write(i,p);s.success?(f(p),h.success(`${i} saved`),C()):h.error(s.error||"Failed to save")}catch{h.error("Failed to save file")}finally{w(!1)}}},[i,p,C]),g=p!==b,O=(i==null?void 0:i.endsWith(".yaml"))||(i==null?void 0:i.endsWith(".yml")),M=i==null?void 0:i.endsWith(".json"),P=s=>O?s.replace(/(#.*)$/,'<span class="text-dark-muted">$1</span>').replace(/^(\s*)([\w-]+)(:)/,'$1<span class="text-accent-blue">$2</span>$3').replace(/:\s+(true|false|null|~)(\s*)$/,': <span class="text-accent-purple">$1</span>$2').replace(/:\s+(\d+\.?\d*)(\s*)$/,': <span class="text-accent-green">$1</span>$2').replace(/:\s+"([^"]*)"(\s*)$/,': <span class="text-accent-yellow">"$1"</span>$2'):M?s.replace(/(\s*"[^"]*")(\s*:)/g,'<span class="text-accent-blue">$1</span>$2').replace(/:\s+(true|false|null)/g,': <span class="text-accent-purple">$1</span>').replace(/:\s+(\d+\.?\d*)/g,': <span class="text-accent-green">$1</span>').replace(/:\s+"([^"]*)"/g,': <span class="text-accent-yellow">"$1"</span>'):s;return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("h4",{className:"text-sm font-medium text-dark-text",children:"Config Files"}),e.jsx("button",{onClick:C,disabled:j,className:"p-1.5 rounded hover:bg-dark-hover transition-colors text-dark-muted",title:"Refresh file list",children:e.jsx(H,{size:14,className:j?"animate-spin":""})})]}),t.length===0&&!j&&e.jsx("p",{className:"text-xs text-dark-muted",children:"No config files found in ~/.agent/"}),t.length>0&&e.jsxs("div",{className:"flex gap-3",children:[e.jsx("div",{className:"w-48 shrink-0 space-y-0.5 max-h-[300px] overflow-y-auto custom-scrollbar",children:t.map(s=>e.jsxs("button",{onClick:()=>v(s.name),className:`w-full text-left px-2.5 py-1.5 rounded text-xs flex items-center gap-2 transition-colors ${i===s.name?"bg-accent-blue/10 text-accent-blue":"text-dark-text hover:bg-dark-hover"}`,children:[e.jsx(oe,{size:12,className:"shrink-0"}),e.jsx("span",{className:"truncate flex-1",children:s.name}),!s.editable&&e.jsx("span",{className:"text-[10px] text-dark-muted shrink-0",title:"Read-only",children:"read"})]},s.name))}),i?e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-dark-muted",children:[e.jsx("span",{className:"text-dark-text font-medium",children:i}),t.find(s=>s.name===i)&&e.jsxs("span",{children:[Be(t.find(s=>s.name===i).size)," · ",Ie(t.find(s=>s.name===i).modified)]}),g&&e.jsxs("span",{className:"text-accent-yellow flex items-center gap-1",children:[e.jsx(K,{size:10}),"unsaved changes"]})]}),e.jsxs("button",{onClick:A,disabled:!g||k,className:`flex items-center gap-1 px-2.5 py-1 rounded text-xs transition-all ${g?"bg-accent-blue text-white hover:opacity-90":"bg-dark-hover text-dark-muted cursor-not-allowed"}`,children:[e.jsx(de,{size:12}),k?"Saving...":"Save"]})]}),e.jsxs("div",{className:"relative",children:[e.jsx("pre",{className:"w-full h-[260px] p-3 rounded-lg bg-dark-bg border border-dark-border font-mono text-xs leading-relaxed overflow-auto custom-scrollbar pointer-events-none",dangerouslySetInnerHTML:{__html:p.split(`
2
- `).map(P).join(`
3
- `)||"&nbsp;"}}),e.jsx("textarea",{value:p,onChange:s=>l(s.target.value),className:"absolute inset-0 w-full h-full p-3 rounded-lg bg-transparent border border-dark-border font-mono text-xs leading-relaxed resize-none overflow-auto custom-scrollbar text-transparent caret-dark-text focus:outline-none focus:border-accent-blue/50",style:{color:"transparent"},spellCheck:!1})]})]}):e.jsx("div",{className:"flex-1 flex items-center justify-center text-xs text-dark-muted",children:"Select a file to edit"})]})]})}function De(){var u,N,T;const{t}=G(),[o,i]=a.useState(null),[n,p]=a.useState(null),[l,b]=a.useState({running:!1,logs:[]}),[f,j]=a.useState(!1),x=a.useRef(null),k=a.useRef(l),w=a.useRef(null),[C,v]=a.useState(()=>{try{return Oe(localStorage.getItem("dsc.stt.lang"))}catch{return"en"}}),A=a.useCallback(c=>{v(c);try{localStorage.setItem("dsc.stt.lang",c)}catch{}window.dispatchEvent(new CustomEvent("stt-lang-changed",{detail:{lang:c}}))},[]);a.useEffect(()=>{k.current=l},[l]);const g=a.useCallback(async()=>{j(!0);const c=await E.stt.status();c.success&&c.data?(i(c.data),c.data.env&&p(c.data.env)):c.error&&h.error(c.error),j(!1)},[]);a.useEffect(()=>{g()},[g]);const O=a.useCallback(async()=>{const c=await E.stt.installStatus();if(c.success&&c.data){const L=k.current.running;b(c.data),c.data.running?x.current=window.setTimeout(()=>void O(),1e3):(g(),L&&c.data.status==="done"&&window.dispatchEvent(new CustomEvent("stt-backends-changed")))}},[g]);a.useEffect(()=>()=>{x.current&&window.clearTimeout(x.current)},[]),a.useEffect(()=>{w.current&&(w.current.scrollTop=w.current.scrollHeight)},[l.logs]);const M=a.useCallback(async c=>{var U,D,r,$;const L=await E.stt.install(c);L.success&&((U=L.data)!=null&&U.started)?(b({running:!0,backend:c,logs:[],status:"running"}),O()):(D=L.data)!=null&&D.alreadyRunning?(h.info(t("stt.setup.jobInProgress")),O()):b({running:!1,backend:c,logs:[],status:"error",error:L.error||((r=L.data)==null?void 0:r.error)||"install failed",manualCommand:($=L.data)==null?void 0:$.manualCommand})},[O,t]),P=a.useCallback(async()=>{await E.stt.cancelInstall(),O()},[O]),s=a.useCallback(c=>{navigator.clipboard.writeText(c).then(()=>h.success(t("stt.setup.copySuccess")),()=>h.error(t("stt.setup.copyFailed")))},[t]),m=l.running?l.backend:void 0,d=l.running,y=!d&&l.status==="done"&&l.backend?(u=o==null?void 0:o.backends)==null?void 0:u[l.backend]:void 0,S=y?!y.installed:!1,I=c=>c?e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-accent-green/15 text-accent-green",children:[e.jsx(Y,{size:12}),t("stt.setup.installed")]}):e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-dark-hover text-dark-muted",children:[e.jsx(pe,{size:12}),t("stt.setup.notInstalled")]}),R=(c,L,U)=>{var Q;const D=((Q=o==null?void 0:o.backends)==null?void 0:Q[c])??{installed:!1},r=m===c,$=d&&!r,z=c==="zh"?C==="zh":C!=="zh",B=c==="en"&&C!=="en"&&C!=="zh"?Me(C):null;return e.jsxs("div",{className:ae("rounded-lg border p-3 flex items-start justify-between gap-3 transition-colors cursor-pointer",z?"border-accent-blue/50 bg-accent-blue/5":"border-dark-border bg-dark-bg hover:border-dark-hover"),onClick:()=>A(c),children:[e.jsxs("div",{className:"flex items-start gap-3 min-w-0",children:[e.jsx("div",{className:ae("w-9 h-9 shrink-0 rounded-lg flex items-center justify-center text-sm font-semibold",z?"bg-accent-blue/15 text-accent-blue":"bg-accent-blue/10 text-accent-blue"),children:c==="en"?"W":"F"}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"text-sm font-medium text-dark-text",children:L}),I(D.installed),z&&e.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-accent-blue/15 text-accent-blue",children:[e.jsx(J,{size:12}),t("stt.setup.inUse")]}),B&&e.jsx("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-dark-hover text-dark-muted",children:B.label})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-1 text-[11px] text-dark-muted",children:[e.jsx("code",{className:"text-[10px] bg-dark-hover px-1.5 py-0.5 rounded",children:U}),e.jsx("span",{children:t(c==="en"?"stt.setup.whisperDesc":"stt.setup.funasrDesc")})]}),c==="zh"&&e.jsxs("p",{className:"mt-1 text-[11px] text-dark-muted flex items-center gap-1",children:[e.jsx(q,{size:11}),t("stt.setup.torchHint")]}),z&&!D.installed&&e.jsxs("p",{className:"mt-1 text-[11px] text-accent-orange flex items-center gap-1",children:[e.jsx(K,{size:11}),t("stt.setup.engineNotInstalledHint")]}),!D.installed&&D.error&&e.jsxs("p",{className:"mt-1 text-[11px] text-accent-orange break-all",title:D.error,children:[e.jsx(K,{size:11}),t("stt.setup.probeError"),D.error]})]})]}),e.jsx("div",{className:"shrink-0",onClick:ce=>ce.stopPropagation(),children:r?e.jsxs("button",{className:"btn btn-secondary cursor-not-allowed opacity-70",disabled:!0,children:[e.jsx(W,{size:14,className:"animate-spin"}),t("stt.setup.installing")]}):$?e.jsx("button",{className:"btn btn-secondary cursor-not-allowed opacity-50",disabled:!0,children:t("stt.setup.installing")}):D.installed?e.jsxs("button",{className:"btn btn-ghost",onClick:()=>void g(),title:t("stt.setup.recheck"),children:[e.jsx(H,{size:14}),t("stt.setup.recheck")]}):e.jsxs("button",{className:"btn btn-accent",onClick:()=>void M(c),children:[e.jsx(me,{size:14}),t("stt.setup.install")]})})]})},_=(n==null?void 0:n.pythonAvailable)&&(n==null?void 0:n.pipAvailable);return e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"rounded-lg border border-dark-border bg-dark-bg p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium text-dark-text",children:[e.jsx(xe,{size:14,className:"text-accent-blue"}),t("stt.setup.envCard")]}),e.jsxs("button",{className:"btn btn-ghost",onClick:()=>void g(),disabled:f,children:[e.jsx(H,{size:13,className:f?"animate-spin":""}),t("stt.setup.recheck")]})]}),e.jsxs("div",{className:"mt-2.5 space-y-2",children:[n?n.pythonAvailable?e.jsxs("div",{className:"flex items-center gap-2 text-xs text-dark-text",children:[e.jsx(Y,{size:13,className:"text-accent-green"}),t("stt.setup.pythonOk",{version:(n.pythonVersion||"").replace(/^Python\s*/i,"")||n.pythonPath||"Python"}),n.pythonPath?e.jsx("code",{className:"text-[10px] text-dark-muted",children:n.pythonPath}):null]}):e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-accent-red/30 bg-accent-red/5 px-2.5 py-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-accent-red",children:[e.jsx(K,{size:13}),t("stt.setup.pythonMissing")]}),e.jsx("a",{className:"btn btn-secondary !py-1 !px-2 text-xs",href:"https://www.python.org/downloads/",target:"_blank",rel:"noreferrer",children:t("stt.setup.pythonGuide")})]}):e.jsxs("div",{className:"flex items-center gap-2 text-xs text-dark-muted",children:[e.jsx(W,{size:13,className:"animate-spin"}),t("stt.setup.envChecking")]}),n&&!n.pipAvailable&&e.jsxs("div",{className:"rounded-md border border-accent-red/30 bg-accent-red/5 px-2.5 py-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-accent-red",children:[e.jsx(K,{size:13}),t("stt.setup.pipMissing")]}),e.jsxs("div",{className:"mt-1.5",children:[e.jsx("div",{className:"text-[10px] text-dark-muted mb-1",children:t("stt.setup.pipGuide")}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("code",{className:"flex-1 rounded bg-dark-bg border border-dark-border px-2 py-1 font-mono text-[10px] text-dark-text break-all select-all",children:[n.pythonPath||"python"," -m ensurepip --upgrade"]}),e.jsx("button",{className:"btn btn-ghost !py-1 !px-2 text-xs",onClick:()=>s(`${n.pythonPath||"python"} -m ensurepip --upgrade`),children:e.jsx(Z,{size:12})})]})]})]})]})]}),e.jsxs("div",{className:"rounded-lg border border-dark-border bg-dark-surface p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium text-dark-text",children:[e.jsx(J,{size:14,className:"text-accent-blue"}),t("stt.setup.defaultEngine")]}),e.jsx("p",{className:"mt-1 text-[11px] text-dark-muted",children:t("stt.setup.defaultEngineHint")})]}),R("en",t("stt.setup.whisperTitle"),"base.en"),R("zh",t("stt.setup.funasrTitle"),"paraformer-zh"),d&&e.jsxs("div",{className:"rounded-lg border border-dark-border bg-dark-bg p-3",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-accent-blue font-medium",children:[e.jsx(W,{size:13,className:"animate-spin"}),t("stt.setup.installing"),e.jsxs("span",{className:"text-dark-muted font-normal",children:["(",m==="en"?"whisper":"funasr",")"]})]}),e.jsx("button",{className:"btn btn-danger !py-1 !px-2 text-xs",onClick:()=>void P(),children:t("stt.setup.cancel")})]}),e.jsx("div",{ref:w,className:"rounded-md border border-dark-border bg-dark-bg p-2.5 font-mono text-[11px] text-dark-muted overflow-auto max-h-48 whitespace-pre-wrap custom-scrollbar",children:l.logs.length===0?e.jsx("span",{className:"text-dark-muted/70",children:t("stt.setup.logWaiting")}):l.logs.join(`
4
- `)})]}),!d&&l.status&&l.status!=="done"&&e.jsxs("div",{className:"rounded-lg border border-accent-red/30 bg-accent-red/5 p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-accent-red font-medium",children:[e.jsx(K,{size:13}),l.status==="timeout"?t("stt.setup.installTimeout"):l.status==="cancelled"?t("stt.setup.installCancelled"):t("stt.setup.installFailed")]}),l.error?e.jsx("p",{className:"mt-1 text-xs text-accent-red/90 break-all",children:l.error}):null,(l.manualCommand||l.status==="error"&&m)&&e.jsxs("div",{className:"mt-2",children:[e.jsxs("div",{className:"text-[10px] text-dark-muted mb-1 flex items-center gap-1",children:[e.jsx(ue,{size:11}),t("stt.setup.manualCommand")]}),e.jsxs("div",{className:"flex items-start gap-2",children:[e.jsx("code",{className:"flex-1 rounded bg-dark-bg border border-dark-border px-2 py-1.5 font-mono text-[10px] text-dark-text break-all whitespace-pre-wrap select-all",children:l.manualCommand??(m==="zh"?`${(n==null?void 0:n.pythonPath)||"python"} -m pip install -U "funasr>=1.1.0" "modelscope>=1.15.0" "torch>=2.0.0"`:`${(n==null?void 0:n.pythonPath)||"python"} -m pip install "faster-whisper>=1.0.0"`)}),l.manualCommand&&e.jsxs("button",{className:"btn btn-ghost !py-1 !px-2 text-xs shrink-0",onClick:()=>s(l.manualCommand),children:[e.jsx(Z,{size:12}),t("stt.setup.copyCommand")]})]})]})]}),!d&&l.status==="done"&&!S&&e.jsxs("div",{className:"rounded-lg border border-accent-green/30 bg-accent-green/5 px-3 py-2.5 flex items-center gap-2 text-xs text-accent-green",children:[e.jsx(Y,{size:14}),t("stt.setup.installDone")]}),!d&&l.status==="done"&&S&&e.jsxs("div",{className:"rounded-lg border border-accent-orange/30 bg-accent-orange/5 p-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-accent-orange font-medium",children:[e.jsx(K,{size:13}),t("stt.setup.installDoneButMissing")]}),(y==null?void 0:y.error)&&e.jsx("p",{className:"mt-1 text-xs text-accent-orange/90 break-all",children:y.error}),e.jsx("p",{className:"mt-1 text-[11px] text-dark-muted",children:t("stt.setup.installDoneButMissingHint")})]}),!d&&_&&o&&!((N=o.backends.en)!=null&&N.installed)&&!((T=o.backends.zh)!=null&&T.installed)&&e.jsx("p",{className:"text-[11px] text-dark-muted px-1",children:t("stt.setup.chooseHint")})]})}const Ae={"google-workspace":ie,gmail:be,"ms365-graph":ge,"x-twitter":he},Re={"google-workspace":"Google Workspace",gmail:"Gmail","ms365-graph":"Microsoft 365","x-twitter":"X / Twitter"},Fe={ready:"text-accent-green",installed:"text-dark-muted",connecting:"text-accent-yellow",installing:"text-accent-yellow",error:"text-accent-red",disabled:"text-dark-muted","not-installed":"text-dark-muted"};function Pe({onNavigate:t}){const{t:o}=G(),[i,n]=a.useState(null),[p,l]=a.useState(!1),[b,f]=a.useState([]),[j,x]=a.useState(!0),[k,w]=a.useState(null),[C,v]=a.useState(null),A=a.useCallback(async()=>{l(!0);try{const s=await E.tools.get("computer_use");n(s.success&&s.data?!!s.data.enabled:!1)}catch{n(!1)}l(!1)},[]),g=a.useCallback(async()=>{var m;x(!0),v(null);const s=await E.connectors.list();s.success&&Array.isArray((m=s.data)==null?void 0:m.connectors)?f(s.data.connectors.filter(d=>d.featured)):v(s.error||o("settings.capabilities.loadFailed")),x(!1)},[o]);a.useEffect(()=>{A(),g()},[]);const O=async()=>{if(i===null)return;const s=!i;w("computer_use");try{const m=await E.tools.toggle("computer_use",s);m.success?n(s):v(m.error||o("settings.capabilities.toggleFailed"))}catch(m){v(m instanceof Error?m.message:String(m))}w(null)},M=async s=>{const m=!s.enabled;if(m&&s.missingEnv&&s.missingEnv.length>0){t==null||t("connectors");return}w(s.id),v(null),f(d=>d.map(y=>y.id===s.id?{...y,enabled:m,status:m?"connecting":"disabled"}:y));try{const d=await E.connectors.toggle(s.id,m);if(d.success&&d.data){const y=d.data;f(S=>S.map(I=>I.id===y.id?y:I))}else v(d.error||o("settings.capabilities.toggleFailed")),g()}catch(d){v(d instanceof Error?d.message:String(d)),g()}w(null)},P=s=>{if(s.missingEnv&&s.missingEnv.length>0)return`${o("connectors.needCredentials")} ${s.missingEnv.join(", ")}`;const m=s.status==="not-installed"?"notInstalled":s.status;return o(`connectors.${m}`)||s.status};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 py-1",children:[e.jsxs("div",{className:"min-w-0 flex items-start gap-2",children:[e.jsx(le,{size:16,className:"text-accent-blue mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-dark-text",children:"Computer Use"}),e.jsx("div",{className:"text-xs text-dark-muted mt-0.5",children:"GUI 截屏 + 鼠标键盘操控(Windows)。每次调用需审批;需要视觉模型读屏。"})]})]}),e.jsx("button",{type:"button",role:"switch","aria-checked":!!i,disabled:p||k==="computer_use",onClick:O,className:`relative w-9 h-5 rounded-full transition-colors shrink-0 disabled:opacity-50 ${i?"bg-accent-blue":"bg-dark-border"}`,children:e.jsx("span",{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${i?"translate-x-[18px]":"translate-x-0.5"}`})})]}),e.jsxs("div",{className:"pt-3 border-t border-dark-border",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{className:"text-xs font-semibold text-dark-text flex items-center gap-1.5",children:[e.jsx(ie,{size:13,className:"text-accent-purple"}),"精选连接器"]}),e.jsxs("button",{onClick:()=>t==null?void 0:t("connectors"),className:"text-xs text-dark-muted hover:text-accent-blue flex items-center gap-1 transition-colors",children:["全部管理",e.jsx(X,{size:11})]})]}),j?e.jsxs("div",{className:"flex items-center gap-2 text-xs text-dark-muted py-2",children:[e.jsx(W,{size:12,className:"animate-spin"}),"Loading..."]}):b.length===0?e.jsx("div",{className:"text-xs text-dark-muted py-2",children:"暂无精选连接器"}):e.jsx("div",{className:"space-y-1",children:b.map(s=>{const m=Ae[s.id]??Ke,d=k===s.id,y=s.missingEnv&&s.missingEnv.length>0,S=Fe[s.status]??"text-dark-muted";return e.jsxs("div",{className:"flex items-center justify-between gap-3 py-1.5",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"text-sm text-dark-text flex items-center gap-1.5 truncate",children:[e.jsx(m,{size:14,className:"shrink-0 text-dark-muted"}),Re[s.id]??s.name,y&&e.jsx(K,{size:12,className:"text-accent-yellow shrink-0"})]}),e.jsxs("div",{className:`text-[11px] mt-0.5 flex items-center gap-1 ${S}`,children:[s.status==="ready"?e.jsx(Y,{size:10}):null,P(s),typeof s.toolCount=="number"&&s.toolCount>0?` · ${o("connectors.toolCount",{count:s.toolCount})}`:""]})]}),e.jsx("button",{type:"button",role:"switch","aria-checked":s.enabled,disabled:d,onClick:()=>M(s),className:`relative w-9 h-5 rounded-full transition-colors shrink-0 disabled:opacity-50 ${s.enabled?"bg-accent-blue":"bg-dark-border"}`,children:d?e.jsx(W,{size:12,className:"absolute left-[7px] top-[3px] animate-spin text-white"}):e.jsx("span",{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${s.enabled?"translate-x-[18px]":"translate-x-0.5"}`})})]},s.id)})})]}),e.jsxs("div",{className:"pt-3 border-t border-dark-border flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 flex items-start gap-2",children:[e.jsx(q,{size:16,className:"text-accent-yellow mt-0.5 shrink-0"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-sm text-dark-text",children:"xAI (Grok) API"}),e.jsx("div",{className:"text-xs text-dark-muted mt-0.5",children:"官方 OpenAI 兼容端点,支持 X 实时数据的 Grok 系列模型。"})]})]}),e.jsxs("button",{onClick:()=>t==null?void 0:t("models"),className:"flex items-center gap-1.5 px-3 py-1.5 bg-accent-blue/10 text-accent-blue border border-accent-blue/30 rounded-lg hover:bg-accent-blue/20 transition-colors text-xs shrink-0",children:["配置",e.jsx(X,{size:11})]})]}),C&&e.jsxs("div",{className:"flex items-center justify-between gap-2 text-xs text-accent-red bg-accent-red/10 border border-accent-red/30 rounded-lg px-3 py-2",children:[e.jsx("span",{className:"truncate",children:C}),e.jsxs("button",{onClick:()=>{g(),A(),v(null)},className:"shrink-0 hover:text-accent-red/80 flex items-center gap-1",children:[e.jsx(H,{size:11}),"重试"]})]})]})}function Ke(t){return e.jsxs("svg",{width:t.size??14,height:t.size??14,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:t.className,children:[e.jsx("path",{d:"M12 22v-5"}),e.jsx("path",{d:"M9 8V2"}),e.jsx("path",{d:"M15 8V2"}),e.jsx("path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z"})]})}function V({label:t,value:o,onChange:i,min:n,max:p,disabled:l,envOverridden:b,hint:f}){return e.jsxs("div",{className:"mb-3",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm text-dark-muted mb-1",children:[t,b&&e.jsxs("span",{className:"inline-flex items-center gap-1 text-xs text-accent-yellow",title:f,children:[e.jsx(K,{size:12})," env"]})]}),e.jsx("input",{type:"number",value:o,onChange:j=>i(j.target.value),min:n,max:p,disabled:l||b,className:"w-40 bg-dark-bg border border-dark-border rounded-lg px-3 py-1.5 text-sm text-dark-text font-mono focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all disabled:opacity-50"})]})}function _e(){const{t}=G(),[o,i]=a.useState(!0),[n,p]=a.useState(!1),[l,b]=a.useState({}),[f,j]=a.useState(!1),[x,k]=a.useState(""),[w,C]=a.useState(null),[v,A]=a.useState(!1),[g,O]=a.useState(""),[M,P]=a.useState(""),[s,m]=a.useState(""),[d,y]=a.useState(""),[S,I]=a.useState(""),R=a.useCallback(async()=>{i(!0);try{const u=await E.config.context.get();if(u.success&&u.data){const N=u.data.values??{};b(u.data.envOverridden??{}),j(u.data.effective.offload),k(u.data.defaultArtifactRoot??""),C(u.data.stats??null),A(!!N.artifactOffload),O(typeof N.artifactDir=="string"?N.artifactDir:""),P(N.artifactMaxTotalMb!=null?String(N.artifactMaxTotalMb):""),m(N.artifactTtlDays!=null?String(N.artifactTtlDays):""),y(N.outboundToolBytes!=null?String(N.outboundToolBytes):""),I(N.turnBudgetTokens!=null?String(N.turnBudgetTokens):"")}}catch{}i(!1)},[]);a.useEffect(()=>{R()},[R]);const _=async()=>{p(!0);try{const u={artifactOffload:v};l.artifactDir||(u.artifactDir=g.trim()||null),!l.artifactMaxTotalMb&&M.trim()&&(u.artifactMaxTotalMb=parseInt(M,10)),!l.artifactTtlDays&&s.trim()&&(u.artifactTtlDays=parseInt(s,10)),!l.outboundToolBytes&&d.trim()&&(u.outboundToolBytes=parseInt(d,10)),!l.turnBudgetTokens&&S.trim()&&(u.turnBudgetTokens=parseInt(S,10));for(const T of["artifactMaxTotalMb","artifactTtlDays","outboundToolBytes","turnBudgetTokens"])if(T in u&&(isNaN(u[T])||u[T]<=0)){h.error(t("settings.contextOffload.invalidNumber")),p(!1);return}const N=await E.config.context.save(u);N.success?(h.success(t("settings.contextOffload.saved")),await R()):h.error(N.error||t("settings.contextOffload.saveFailed"))}catch(u){h.error(u instanceof Error?u.message:String(u))}p(!1)};return o?e.jsxs("div",{className:"flex items-center gap-2 text-sm text-dark-muted py-2",children:[e.jsx(W,{size:14,className:"animate-spin"}),t("common.loading")]}):e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-dark-muted mb-3",children:t("settings.contextOffload.desc")}),e.jsxs("label",{className:"flex items-center justify-between mb-4 cursor-pointer",children:[e.jsxs("span",{className:"text-sm",children:[t("settings.contextOffload.enableLabel"),e.jsxs("span",{className:`ml-2 text-xs ${f?"text-accent-green":"text-dark-muted"}`,children:["(",t("settings.contextOffload.currently"),": ",f?"ON":"OFF",")"]})]}),e.jsx("button",{role:"switch","aria-checked":v,onClick:()=>A(!v),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${v?"bg-accent-green":"bg-dark-border"}`,children:e.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${v?"translate-x-6":"translate-x-1"}`})})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-x-6",children:[e.jsx(V,{label:t("settings.contextOffload.maxTotalMb"),value:M,onChange:P,min:1,envOverridden:l.artifactMaxTotalMb}),e.jsx(V,{label:t("settings.contextOffload.ttlDays"),value:s,onChange:m,min:1,max:365,envOverridden:l.artifactTtlDays}),e.jsx(V,{label:`${t("settings.contextOffload.outboundBytes")} (${t("settings.contextOffload.optional")})`,value:d,onChange:y,min:1024,envOverridden:l.outboundToolBytes}),e.jsx(V,{label:t("settings.contextOffload.turnBudget"),value:S,onChange:I,min:1e3,envOverridden:l.turnBudgetTokens})]}),e.jsxs("div",{className:"mb-3",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm text-dark-muted mb-1",children:[t("settings.contextOffload.dir")," (",t("settings.contextOffload.optional"),")",l.artifactDir&&e.jsxs("span",{className:"inline-flex items-center gap-1 text-xs text-accent-yellow",children:[e.jsx(K,{size:12})," env"]})]}),e.jsx("input",{type:"text",value:g,onChange:u=>O(u.target.value),disabled:l.artifactDir,placeholder:x,className:"w-full bg-dark-bg border border-dark-border rounded-lg px-3 py-1.5 text-sm text-dark-text font-mono focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all disabled:opacity-50"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("button",{onClick:_,disabled:n||o,className:"px-3 py-1.5 rounded-lg text-sm bg-accent-blue text-white hover:opacity-90 transition-opacity disabled:opacity-50",children:t(n?"common.saving":"common.save")}),e.jsx("span",{className:"text-xs text-dark-muted",children:t("settings.contextOffload.envHint")})]}),w&&w.count>0&&e.jsx("p",{className:"text-xs text-dark-muted mt-2",children:t("settings.contextOffload.stats",{count:w.count,size:(w.totalBytes/1024/1024).toFixed(1)})})]})}const Ue=a.memo(function({nameKey:o,descriptionKey:i,colors:n,isSelected:p,onClick:l}){const{t:b}=G(),f=["bg","surface","border","text","muted","accentBlue","accentGreen","accentRed","accentYellow","accentPurple"];return e.jsxs("button",{onClick:l,className:`relative flex flex-col items-center rounded-xl p-2 transition-all focus:outline-none focus:ring-2 focus:ring-accent-blue/50 ${p?"ring-2 ring-accent-blue/60 bg-dark-bg border border-accent-blue/40 shadow-sm":"border border-dark-border hover:border-accent-blue/30 bg-dark-bg hover:shadow-sm"}`,title:b(i),"aria-pressed":p,"aria-label":b(o),children:[e.jsx("div",{className:"flex gap-[2px] rounded-md overflow-hidden w-full h-8 mb-1.5 border border-dark-border/40",children:f.map(j=>e.jsx("div",{className:"flex-1",style:{backgroundColor:n[j]},title:j},j))}),e.jsx("span",{className:`text-[11px] font-medium truncate w-full text-center ${p?"text-accent-blue":"text-dark-text"}`,children:b(o)}),p&&e.jsx("span",{className:"absolute top-1 right-1 w-4 h-4 bg-accent-blue rounded-full flex items-center justify-center shadow-sm",children:e.jsx("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",children:e.jsx("path",{d:"M1.5 4L3.5 6L6.5 2",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})}),We="1.0.0",He={version:We},re=[{key:"bg",labelKey:"settings.colorBg"},{key:"surface",labelKey:"settings.colorSurface"},{key:"border",labelKey:"settings.colorBorder"},{key:"text",labelKey:"settings.colorText"},{key:"muted",labelKey:"settings.colorMuted"},{key:"accentBlue",labelKey:"settings.colorAccentBlue"},{key:"accentGreen",labelKey:"settings.colorAccentGreen"},{key:"accentRed",labelKey:"settings.colorAccentRed"},{key:"accentYellow",labelKey:"settings.colorAccentYellow"},{key:"accentPurple",labelKey:"settings.colorAccentPurple"}],Ge={language:["language","lang","Chinese","中文","English","en","zh"],theme:["theme","dark","light","color","palette","custom"],display:["display","view","developer","activity","界面","视图","开发者","活动"],provider:["provider","model","api","key","openai","anthropic","deepseek"],context:["context","max","window","token","上下文","offload","artifact","外置"],configFiles:["config","file","yaml","json","editor"],capabilities:["capabilities","computer","use","gmail","google","workspace","sharepoint","m365","twitter","x","grok","xai","connector","agent","能力","电脑","推特"],system:["system","server","uptime","restart","reboot"],about:["about","version","info"],stt:["voice","语音","stt","whisper","funasr","安装","install","python","pip","speech"]},tt=a.memo(function({onNavigate:o,focusSection:i}){const{t:n}=G(),{theme:p,setTheme:l,themePresetId:b,setThemePreset:f,language:j,setLanguage:x,customTheme:k,customThemeEnabled:w,setCustomTheme:C,setCustomThemeEnabled:v,resetCustomTheme:A,developerView:g,setDeveloperView:O}=Te(),[M,P]=a.useState(w),s=a.useMemo(()=>p==="dark"?"dark":p==="light"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",[p]),m=a.useMemo(()=>Object.values(ze),[]),[d,y]=a.useState(0),[S,I]=a.useState(!1),[R,_]=a.useState(!1),[u,N]=a.useState(""),T=a.useCallback(r=>{if(!u.trim())return!0;const $=u.toLowerCase().trim();return(Ge[r]??[]).some(B=>B.toLowerCase().includes($))},[u]),c=a.useRef(null);a.useEffect(()=>{var r;(i==null?void 0:i.section)==="stt"&&((r=c.current)==null||r.scrollIntoView({behavior:"smooth",block:"start"}))},[i==null?void 0:i.nonce]),a.useEffect(()=>{let r=!0;const $=async()=>{try{const B=await E.system.status();r&&B.success&&B.data&&y(B.data.uptime)}catch{}};$();const z=setInterval($,S?2e3:1e4);return()=>{r=!1,clearInterval(z)}},[S]);const L=a.useCallback(async()=>{if(window.confirm("Restart the server? All active sessions will be disconnected.")){I(!0);try{const r=await E.system.restart();r.success?h.info("Server restarting..."):(h.error(r.error||"Restart failed"),I(!1))}catch{h.error("Failed to send restart request"),I(!1)}}},[]),U=a.useCallback(async()=>{if(window.confirm("Shut down the server? This will stop the entire backend process.")&&window.confirm("Are you sure? All active sessions and unsaved work will be lost.")){_(!0);try{const r=await E.system.shutdown();r.success?h.info("Server shutting down..."):(h.error(r.error||"Shutdown failed"),_(!1))}catch{h.error("Failed to send shutdown request"),_(!1)}}},[]);a.useEffect(()=>{S&&d<1e4&&(I(!1),h.success("Server restarted"))},[d,S]);const D=r=>{const $=Math.floor(r/1e3),z=Math.floor($/60),B=Math.floor(z/60);return B>0?`${B}h ${z%60}m`:z>0?`${z}m ${$%60}s`:`${$}s`};return e.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto custom-scrollbar p-4 bg-transparent",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4 gap-4 rounded-xl border border-dark-border bg-dark-surface p-3",children:[e.jsxs("h2",{className:"text-lg font-semibold flex items-center gap-2 shrink-0",children:[e.jsx(fe,{size:18,className:"text-accent-blue"}),n("settings.title")]}),e.jsxs("div",{className:"relative flex-1 max-w-xs",children:[e.jsx(ee,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-dark-muted pointer-events-none"}),e.jsx("input",{type:"text",value:u,onChange:r=>N(r.target.value),placeholder:"Search settings...",className:"w-full bg-dark-bg border border-dark-border rounded-lg pl-9 pr-3 py-1.5 text-sm text-dark-text placeholder-dark-muted focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all"}),u&&e.jsx("button",{onClick:()=>N(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-dark-muted hover:text-dark-text text-xs p-1 rounded",children:"×"})]})]}),e.jsxs("div",{className:"space-y-5 max-w-3xl",children:[T("language")&&e.jsx(F,{icon:je,iconColor:"text-accent-blue",title:n("settings.language"),children:e.jsx("div",{className:"flex gap-2",children:["zh-CN","en"].map(r=>e.jsx("button",{onClick:()=>x(r),className:`px-4 py-2 rounded-lg transition-all ${j===r?"bg-accent-blue text-white":"bg-dark-hover text-dark-text hover:bg-dark-border"}`,children:n(r==="zh-CN"?"settings.languageZh":"settings.languageEn")},r))})}),T("theme")&&e.jsxs(F,{icon:te,iconColor:"text-accent-purple",title:n("settings.theme"),children:[e.jsx("div",{className:"flex gap-2 mb-4",children:["dark","light","auto"].map(r=>e.jsx("button",{onClick:()=>l(r),className:`px-4 py-2 rounded-lg transition-all ${p===r?"bg-accent-blue text-white":"bg-dark-hover text-dark-text hover:bg-dark-border"}`,children:n(r==="dark"?"settings.themeDark":r==="light"?"settings.themeLight":"settings.themeAuto")},r))}),e.jsxs("div",{className:"mb-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-dark-text mb-2",children:n("settings.themePresets")}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-2",children:m.map(r=>{if(!r)return null;const $=(b||Ee)===r.id,z=s==="dark"?r.dark:r.light;return e.jsx(Ue,{id:r.id,nameKey:r.nameKey,descriptionKey:r.descriptionKey,colors:z,isSelected:$,onClick:()=>f(r.id)},r.id)})})]}),e.jsxs("div",{className:"pt-4 border-t border-dark-border",children:[e.jsxs("button",{onClick:()=>{const r=!M;P(r),v(r)},className:"flex items-center gap-2 text-sm text-dark-muted hover:text-dark-text transition-colors",children:[e.jsx(te,{size:14}),e.jsx("span",{children:n("settings.customOverrides")}),e.jsx("span",{className:`w-8 h-4 rounded-full transition-colors ${M?"bg-accent-blue":"bg-dark-border"}`,children:e.jsx("span",{className:`block w-3 h-3 rounded-full bg-white transition-transform mt-0.5 ${M?"ml-4":"ml-0.5"}`})})]}),M&&e.jsx("p",{className:"text-[10px] text-dark-muted mt-1 mb-2",children:n("settings.customOverridesHint")}),M&&e.jsxs("div",{className:"mt-3",children:[e.jsx("div",{className:"flex gap-1 mb-3 rounded-lg overflow-hidden h-6",children:re.map(({key:r})=>e.jsx("div",{className:"flex-1",style:{backgroundColor:k[r]},title:r},r))}),e.jsx("div",{className:"grid grid-cols-2 gap-x-4 gap-y-2",children:re.map(({key:r,labelKey:$})=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"color",value:k[r],onChange:z=>C({[r]:z.target.value}),className:"w-8 h-8 rounded border border-dark-border cursor-pointer bg-transparent p-0.5 shrink-0"}),e.jsx("span",{className:"text-xs text-dark-muted flex-1 truncate",children:n($)}),e.jsx("input",{type:"text",value:k[r],onChange:z=>{const B=z.target.value;/^#[0-9a-fA-F]{0,6}$/.test(B)&&C({[r]:B})},className:"w-16 bg-dark-bg border border-dark-border rounded px-1 py-0.5 text-xs text-dark-text font-mono text-center",maxLength:7})]},r))}),e.jsx("button",{onClick:A,className:"mt-2 text-xs text-dark-muted hover:text-accent-red transition-colors",children:n("settings.resetColors")})]})]})]}),T("display")&&e.jsx(F,{icon:se,iconColor:"text-accent-blue",title:n("settings.display"),children:e.jsxs("label",{className:"flex items-center justify-between gap-3 py-1 cursor-pointer",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-sm text-dark-text",children:n("settings.developerView")}),e.jsx("div",{className:"text-xs text-dark-muted mt-0.5",children:n("settings.developerViewHint")})]}),e.jsx("button",{type:"button",role:"switch","aria-checked":g,onClick:()=>O(!g),className:`relative w-9 h-5 rounded-full transition-colors shrink-0 ${g?"bg-accent-blue":"bg-dark-border"}`,children:e.jsx("span",{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${g?"translate-x-[18px]":"translate-x-0.5"}`})})]})}),T("provider")&&e.jsxs(F,{icon:q,iconColor:"text-accent-yellow",title:"Provider & Models",children:[e.jsx("p",{className:"text-sm text-dark-muted mb-3",children:"Configure AI providers, API keys, and model settings. Add or remove providers like OpenAI, Anthropic, DeepSeek, and more."}),e.jsxs("button",{onClick:()=>o==null?void 0:o("models"),className:"flex items-center gap-2 px-4 py-2 bg-accent-blue text-white rounded-lg hover:opacity-90 transition-opacity text-sm w-fit",children:[e.jsx(X,{size:14}),"Manage Providers & Models"]})]}),T("capabilities")&&e.jsx(F,{icon:le,iconColor:"text-accent-green",title:n("settings.capabilities.title"),children:e.jsx(Pe,{onNavigate:o})}),T("context")&&e.jsx(F,{icon:ke,iconColor:"text-accent-blue",title:"Max Context",children:e.jsx(Ve,{})}),T("context")&&e.jsx(F,{icon:se,iconColor:"text-accent-purple",title:n("settings.contextOffload.title"),children:e.jsx(_e,{})}),T("stt")&&e.jsx(F,{icon:ve,iconColor:"text-accent-blue",title:n("stt.setup.title"),children:e.jsx("div",{ref:c,id:"settings-section-stt",className:"scroll-mt-4",children:e.jsx(De,{})})}),T("configFiles")&&e.jsx(F,{icon:ye,iconColor:"text-accent-green",title:"Config Files (~/.agent/)",children:e.jsx(Le,{})}),T("system")&&e.jsx(F,{icon:Ne,iconColor:"text-dark-muted",title:"System",children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-dark-muted",children:"Server Uptime"}),e.jsx("span",{className:"text-dark-text font-mono",children:D(d)})]}),e.jsxs("button",{onClick:L,disabled:S,className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm transition-all ${S?"bg-dark-hover text-dark-muted cursor-wait":"bg-accent-red/10 text-accent-red hover:bg-accent-red/20 border border-accent-red/30"}`,children:[e.jsx(H,{size:14,className:S?"animate-spin":""}),S?"Restarting...":"Restart Server"]}),e.jsxs("button",{onClick:U,disabled:R,className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm transition-all ${R?"bg-dark-hover text-dark-muted cursor-wait":"bg-accent-red/10 text-accent-red hover:bg-accent-red/20 border border-accent-red/30"}`,children:[e.jsx(we,{size:14,className:R?"animate-pulse":""}),R?"Shutting Down...":"Shutdown Server"]})]})}),T("about")&&e.jsx(F,{icon:Ce,iconColor:"text-accent-blue",title:n("settings.about"),children:e.jsxs("div",{className:"text-sm text-dark-muted space-y-2",children:[e.jsxs("p",{children:[e.jsx("span",{className:"text-dark-text",children:"DeepSeekCode Web"})," v",He.version]}),e.jsx("p",{children:n("settings.aboutDesc")}),e.jsx("p",{className:"text-xs",children:"Powered by React + TypeScript + TailwindCSS"}),e.jsx("p",{className:"text-xs",children:"联系:ngwlh2026@gmail.com"}),e.jsxs("button",{onClick:()=>$e.getState().openWhatsNew(),className:"mt-2 flex items-center gap-2 px-4 py-2 rounded-lg text-sm transition-all bg-accent-blue/10 text-accent-blue hover:bg-accent-blue/20 border border-accent-blue/30",children:[e.jsx(Se,{size:14}),n("settings.whatsNew")]})]})}),u.trim()&&!["language","theme","provider","capabilities","context","stt","configFiles","system","about"].some(T)&&e.jsxs("div",{className:"text-center py-12 text-dark-muted",children:[e.jsx(ee,{size:32,className:"mx-auto mb-2 opacity-40"}),e.jsxs("p",{className:"text-sm",children:["No settings match “",u,"”"]})]})]})]})});function Ve(){const t=ne(x=>x.maxContextTokens),o=ne(x=>x.setMaxContextTokens),[i,n]=a.useState(String(t)),[p,l]=a.useState(!1),b=[32e3,64e3,128e3,256e3,512e3,1e6,2e6],f=async()=>{const x=parseInt(i,10);if(!(isNaN(x)||x<1e3)){l(!0),o(x);try{await E.config.provider.save({contextWindow:x}),h.success("Context window saved")}catch(k){h.error("Failed to save context window: "+(k instanceof Error?k.message:"Unknown error"))}l(!1)}},j=x=>x>=1e6?(x/1e6).toFixed(0)+"M":(x/1e3).toFixed(0)+"K";return e.jsxs("div",{children:[e.jsx("p",{className:"text-sm text-dark-muted mb-3",children:"Set the maximum context window (in tokens) for your AI model. This controls how the progress bar and usage percentage are calculated."}),e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[e.jsx("input",{type:"number",value:i,onChange:x=>n(x.target.value),min:1e3,max:1e7,step:1e3,className:"w-32 bg-dark-bg border border-dark-border rounded-lg px-3 py-1.5 text-sm text-dark-text font-mono focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all"}),e.jsx("span",{className:"text-sm text-dark-muted",children:"tokens"}),e.jsx("button",{onClick:f,disabled:p,className:"px-3 py-1.5 rounded-lg text-sm bg-accent-blue text-white hover:opacity-90 transition-opacity disabled:opacity-50",children:p?"Saving...":"Apply"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:b.map(x=>e.jsx("button",{onClick:async()=>{n(String(x)),o(x);try{await E.config.provider.save({contextWindow:x}),h.success("Context window saved")}catch(k){h.error("Failed to save context window: "+(k instanceof Error?k.message:"Unknown error"))}},className:"px-3 py-1 rounded-lg text-xs transition-all",children:j(x)},x))}),e.jsxs("p",{className:"text-xs text-dark-muted mt-2",children:["Current: ",e.jsx("span",{className:"font-mono text-dark-text",children:parseInt(i,10).toLocaleString()})," tokens"]})]})}function F({icon:t,iconColor:o,title:i,children:n}){return e.jsxs("div",{className:"rounded-xl border border-dark-border bg-dark-surface p-4",children:[e.jsxs("h3",{className:"font-medium mb-3 flex items-center gap-2",children:[e.jsx(t,{size:16,className:o}),i]}),n]})}export{tt as SettingsPanel};
@@ -1 +0,0 @@
1
- @font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.bottom-5{bottom:1.25rem}.bottom-9{bottom:2.25rem}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-7{left:1.75rem}.left-\[18px\]{left:18px}.left-\[2px\]{left:2px}.left-\[7px\]{left:7px}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-full{right:100%}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-\[3px\]{top:3px}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.m-2{margin:.5rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.-ml-3{margin-left:-.75rem}.-ml-4{margin-left:-1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-\[15px\]{margin-left:15px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[260px\]{height:260px}.h-\[26px\]{height:26px}.h-\[30px\]{height:30px}.h-\[520px\]{height:520px}.h-\[52vh\]{height:52vh}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-96{max-height:24rem}.max-h-\[200px\]{max-height:200px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[320px\]{max-height:320px}.max-h-\[32vh\]{max-height:32vh}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[420px\]{max-height:420px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[55vh\]{max-height:55vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[640px\]{max-height:640px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-\[200px\]{min-height:200px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[44px\]{min-height:44px}.min-h-\[520px\]{min-height:520px}.min-h-\[55vh\]{min-height:55vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[260px\]{width:260px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[440px\]{width:440px}.w-\[560px\]{width:560px}.w-\[74px\]{width:74px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[200px\]{min-width:200px}.min-w-\[20px\]{min-width:20px}.min-w-\[260px\]{min-width:260px}.min-w-\[48px\]{min-width:48px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[14rem\]{max-width:14rem}.max-w-\[160px\]{max-width:160px}.max-w-\[16rem\]{max-width:16rem}.max-w-\[180px\]{max-width:180px}.max-w-\[18rem\]{max-width:18rem}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[45\%\]{max-width:45%}.max-w-\[46rem\]{max-width:46rem}.max-w-\[60\%\]{max-width:60%}.max-w-\[78\%\]{max-width:78%}.max-w-\[8rem\]{max-width:8rem}.max-w-\[90\%\]{max-width:90%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[9rem\]{max-width:9rem}.max-w-\[calc\(100vw-1\.5rem\)\]{max-width:calc(100vw - 1.5rem)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-right{transform-origin:right}.-translate-x-1{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-2{--tw-translate-x: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-4{--tw-translate-x: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x: 1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[18px\]{--tw-translate-x: 18px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.animate-blink{animation:blink 1.2s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-wait{cursor:wait}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.scroll-mt-4{scroll-margin-top:1rem}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-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-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\[2px\]{gap:2px}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-dark-border>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-divide-opacity, 1))}.divide-dark-border\/60>:not([hidden])~:not([hidden]){border-color:rgb(var(--color-border) / .6)}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:var(--radius-md)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[1px\]{border-radius:1px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-md{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-r{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rounded-t{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#3c3c3c\]{--tw-border-opacity: 1;border-color:rgb(60 60 60 / var(--tw-border-opacity, 1))}.border-accent-blue{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.border-accent-blue\/30{border-color:rgb(var(--color-accent-blue) / .3)}.border-accent-blue\/40{border-color:rgb(var(--color-accent-blue) / .4)}.border-accent-blue\/50{border-color:rgb(var(--color-accent-blue) / .5)}.border-accent-cyan\/30{border-color:#39c5cf4d}.border-accent-green{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-green) / var(--tw-border-opacity, 1))}.border-accent-green\/30{border-color:rgb(var(--color-accent-green) / .3)}.border-accent-green\/40{border-color:rgb(var(--color-accent-green) / .4)}.border-accent-green\/50{border-color:rgb(var(--color-accent-green) / .5)}.border-accent-orange\/30{border-color:#d777534d}.border-accent-purple\/30{border-color:rgb(var(--color-accent-purple) / .3)}.border-accent-purple\/40{border-color:rgb(var(--color-accent-purple) / .4)}.border-accent-red{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-red) / var(--tw-border-opacity, 1))}.border-accent-red\/25{border-color:rgb(var(--color-accent-red) / .25)}.border-accent-red\/30{border-color:rgb(var(--color-accent-red) / .3)}.border-accent-red\/40{border-color:rgb(var(--color-accent-red) / .4)}.border-accent-yellow\/10{border-color:rgb(var(--color-accent-yellow) / .1)}.border-accent-yellow\/25{border-color:rgb(var(--color-accent-yellow) / .25)}.border-accent-yellow\/30{border-color:rgb(var(--color-accent-yellow) / .3)}.border-accent-yellow\/40{border-color:rgb(var(--color-accent-yellow) / .4)}.border-accent-yellow\/50{border-color:rgb(var(--color-accent-yellow) / .5)}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/40{border-color:#f59e0b66}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-400\/30{border-color:#60a5fa4d}.border-blue-500\/25{border-color:#3b82f640}.border-blue-500\/30{border-color:#3b82f64d}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-cyan-500\/30{border-color:#06b6d44d}.border-dark-border{--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1))}.border-dark-border\/20{border-color:rgb(var(--color-border) / .2)}.border-dark-border\/25{border-color:rgb(var(--color-border) / .25)}.border-dark-border\/30{border-color:rgb(var(--color-border) / .3)}.border-dark-border\/40{border-color:rgb(var(--color-border) / .4)}.border-dark-border\/50{border-color:rgb(var(--color-border) / .5)}.border-dark-border\/60{border-color:rgb(var(--color-border) / .6)}.border-dark-border\/70{border-color:rgb(var(--color-border) / .7)}.border-emerald-500\/30{border-color:#10b9814d}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-green-400\/30{border-color:#4ade804d}.border-green-500\/30{border-color:#22c55e4d}.border-green-600\/40{border-color:#16a34a66}.border-indigo-500\/30{border-color:#6366f14d}.border-lime-500\/30{border-color:#84cc164d}.border-orange-500\/30{border-color:#f973164d}.border-purple-500\/30{border-color:#a855f74d}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/40{border-color:#ef444466}.border-transparent{border-color:transparent}.border-white\/25{border-color:#ffffff40}.border-yellow-500\/25{border-color:#eab30840}.border-l-accent-blue{--tw-border-opacity: 1;border-left-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.border-t-accent-blue{--tw-border-opacity: 1;border-top-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#1e1e1e\]{--tw-bg-opacity: 1;background-color:rgb(30 30 30 / var(--tw-bg-opacity, 1))}.bg-\[\#252526\]{--tw-bg-opacity: 1;background-color:rgb(37 37 38 / var(--tw-bg-opacity, 1))}.bg-accent-blue{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1))}.bg-accent-blue\/10{background-color:rgb(var(--color-accent-blue) / .1)}.bg-accent-blue\/15{background-color:rgb(var(--color-accent-blue) / .15)}.bg-accent-blue\/20{background-color:rgb(var(--color-accent-blue) / .2)}.bg-accent-blue\/5{background-color:rgb(var(--color-accent-blue) / .05)}.bg-accent-blue\/90{background-color:rgb(var(--color-accent-blue) / .9)}.bg-accent-cyan{--tw-bg-opacity: 1;background-color:rgb(57 197 207 / var(--tw-bg-opacity, 1))}.bg-accent-cyan\/10{background-color:#39c5cf1a}.bg-accent-cyan\/15{background-color:#39c5cf26}.bg-accent-green{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-green) / var(--tw-bg-opacity, 1))}.bg-accent-green\/10{background-color:rgb(var(--color-accent-green) / .1)}.bg-accent-green\/15{background-color:rgb(var(--color-accent-green) / .15)}.bg-accent-green\/20{background-color:rgb(var(--color-accent-green) / .2)}.bg-accent-green\/5{background-color:rgb(var(--color-accent-green) / .05)}.bg-accent-orange\/15{background-color:#d7775326}.bg-accent-orange\/5{background-color:#d777530d}.bg-accent-purple{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-purple) / var(--tw-bg-opacity, 1))}.bg-accent-purple\/10{background-color:rgb(var(--color-accent-purple) / .1)}.bg-accent-purple\/15{background-color:rgb(var(--color-accent-purple) / .15)}.bg-accent-purple\/20{background-color:rgb(var(--color-accent-purple) / .2)}.bg-accent-purple\/5{background-color:rgb(var(--color-accent-purple) / .05)}.bg-accent-red{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-red) / var(--tw-bg-opacity, 1))}.bg-accent-red\/10{background-color:rgb(var(--color-accent-red) / .1)}.bg-accent-red\/15{background-color:rgb(var(--color-accent-red) / .15)}.bg-accent-red\/20{background-color:rgb(var(--color-accent-red) / .2)}.bg-accent-red\/5{background-color:rgb(var(--color-accent-red) / .05)}.bg-accent-yellow{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-yellow) / var(--tw-bg-opacity, 1))}.bg-accent-yellow\/10{background-color:rgb(var(--color-accent-yellow) / .1)}.bg-accent-yellow\/15{background-color:rgb(var(--color-accent-yellow) / .15)}.bg-accent-yellow\/20{background-color:rgb(var(--color-accent-yellow) / .2)}.bg-accent-yellow\/5,.bg-accent-yellow\/\[0\.05\]{background-color:rgb(var(--color-accent-yellow) / .05)}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-blue-400\/15{background-color:#60a5fa26}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/15{background-color:#3b82f626}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-900\/10{background-color:#1e3a8a1a}.bg-blue-900\/30{background-color:#1e3a8a4d}.bg-cyan-500\/15{background-color:#06b6d426}.bg-cyan-500\/20{background-color:#06b6d433}.bg-dark-bg{--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1))}.bg-dark-bg\/20{background-color:rgb(var(--color-bg) / .2)}.bg-dark-bg\/40{background-color:rgb(var(--color-bg) / .4)}.bg-dark-bg\/45{background-color:rgb(var(--color-bg) / .45)}.bg-dark-bg\/50{background-color:rgb(var(--color-bg) / .5)}.bg-dark-bg\/60{background-color:rgb(var(--color-bg) / .6)}.bg-dark-bg\/70{background-color:rgb(var(--color-bg) / .7)}.bg-dark-bg\/80{background-color:rgb(var(--color-bg) / .8)}.bg-dark-bg\/85{background-color:rgb(var(--color-bg) / .85)}.bg-dark-bg\/90{background-color:rgb(var(--color-bg) / .9)}.bg-dark-border{--tw-bg-opacity: 1;background-color:rgb(var(--color-border) / var(--tw-bg-opacity, 1))}.bg-dark-border\/50{background-color:rgb(var(--color-border) / .5)}.bg-dark-border\/60{background-color:rgb(var(--color-border) / .6)}.bg-dark-border\/70{background-color:rgb(var(--color-border) / .7)}.bg-dark-hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1))}.bg-dark-hover\/40{background-color:rgb(var(--color-hover) / .4)}.bg-dark-muted\/10{background-color:rgb(var(--color-muted) / .1)}.bg-dark-muted\/35{background-color:rgb(var(--color-muted) / .35)}.bg-dark-muted\/60{background-color:rgb(var(--color-muted) / .6)}.bg-dark-surface{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1))}.bg-dark-surface\/40{background-color:rgb(var(--color-surface) / .4)}.bg-dark-surface\/50{background-color:rgb(var(--color-surface) / .5)}.bg-dark-surface\/60{background-color:rgb(var(--color-surface) / .6)}.bg-dark-surface\/80{background-color:rgb(var(--color-surface) / .8)}.bg-dark-surface\/90{background-color:rgb(var(--color-surface) / .9)}.bg-dark-surface\/95{background-color:rgb(var(--color-surface) / .95)}.bg-dark-text{--tw-bg-opacity: 1;background-color:rgb(var(--color-text) / var(--tw-bg-opacity, 1))}.bg-dark-text\/70{background-color:rgb(var(--color-text) / .7)}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/15{background-color:#10b98126}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-500\/10{background-color:#6b72801a}.bg-gray-500\/20{background-color:#6b728033}.bg-gray-500\/5{background-color:#6b72800d}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-green-400\/15{background-color:#4ade8026}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/15{background-color:#22c55e26}.bg-green-500\/20{background-color:#22c55e33}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-600\/15{background-color:#16a34a26}.bg-green-600\/90{background-color:#16a34ae6}.bg-green-700\/60{background-color:#15803d99}.bg-green-900\/30{background-color:#14532d4d}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-indigo-500\/15{background-color:#6366f126}.bg-indigo-500\/20{background-color:#6366f133}.bg-lime-500\/15{background-color:#84cc1626}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-500\/15{background-color:#f9731626}.bg-orange-500\/20{background-color:#f9731633}.bg-orange-900\/15{background-color:#7c2d1226}.bg-orange-900\/30{background-color:#7c2d124d}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-pink-500\/20{background-color:#ec489933}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/15{background-color:#a855f726}.bg-purple-500\/20{background-color:#a855f733}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/20{background-color:#ef444433}.bg-red-700\/60{background-color:#b91c1c99}.bg-red-900\/20{background-color:#7f1d1d33}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-red-950\/30{background-color:#450a0a4d}.bg-teal-500\/20{background-color:#14b8a633}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/20{background-color:#fff3}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-500\/15{background-color:#eab30826}.bg-yellow-500\/20{background-color:#eab30833}.bg-yellow-900\/10{background-color:#713f121a}.bg-yellow-900\/30{background-color:#713f124d}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-black\/30{--tw-gradient-from: rgb(0 0 0 / .3) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black\/40{--tw-gradient-to: rgb(0 0 0 / .4) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-gray-500{fill:#6b7280}.fill-green-500{fill:#22c55e}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.\!px-0{padding-left:0!important;padding-right:0!important}.\!px-2{padding-left:.5rem!important;padding-right:.5rem!important}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.\!py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.py-\[7px\]{padding-top:7px;padding-bottom:7px}.py-px{padding-top:1px;padding-bottom:1px}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-\[12vh\]{padding-top:12vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.font-mono{font-family:SF Mono,Monaco,Menlo,Consolas,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.9em\]{font-size:.9em}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-accent-blue{--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.text-accent-blue\/70{color:rgb(var(--color-accent-blue) / .7)}.text-accent-blue\/80{color:rgb(var(--color-accent-blue) / .8)}.text-accent-cyan{--tw-text-opacity: 1;color:rgb(57 197 207 / var(--tw-text-opacity, 1))}.text-accent-green{--tw-text-opacity: 1;color:rgb(var(--color-accent-green) / var(--tw-text-opacity, 1))}.text-accent-green\/70{color:rgb(var(--color-accent-green) / .7)}.text-accent-orange{--tw-text-opacity: 1;color:rgb(215 119 83 / var(--tw-text-opacity, 1))}.text-accent-orange\/90{color:#d77753e6}.text-accent-purple{--tw-text-opacity: 1;color:rgb(var(--color-accent-purple) / var(--tw-text-opacity, 1))}.text-accent-red{--tw-text-opacity: 1;color:rgb(var(--color-accent-red) / var(--tw-text-opacity, 1))}.text-accent-red\/70{color:rgb(var(--color-accent-red) / .7)}.text-accent-red\/90{color:rgb(var(--color-accent-red) / .9)}.text-accent-yellow{--tw-text-opacity: 1;color:rgb(var(--color-accent-yellow) / var(--tw-text-opacity, 1))}.text-accent-yellow\/50{color:rgb(var(--color-accent-yellow) / .5)}.text-accent-yellow\/60{color:rgb(var(--color-accent-yellow) / .6)}.text-accent-yellow\/70{color:rgb(var(--color-accent-yellow) / .7)}.text-accent-yellow\/75{color:rgb(var(--color-accent-yellow) / .75)}.text-accent-yellow\/80{color:rgb(var(--color-accent-yellow) / .8)}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-500\/80{color:#f59e0bcc}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-dark-bg{--tw-text-opacity: 1;color:rgb(var(--color-bg) / var(--tw-text-opacity, 1))}.text-dark-border{--tw-text-opacity: 1;color:rgb(var(--color-border) / var(--tw-text-opacity, 1))}.text-dark-muted{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.text-dark-muted\/40{color:rgb(var(--color-muted) / .4)}.text-dark-muted\/50{color:rgb(var(--color-muted) / .5)}.text-dark-muted\/55{color:rgb(var(--color-muted) / .55)}.text-dark-muted\/60{color:rgb(var(--color-muted) / .6)}.text-dark-muted\/70{color:rgb(var(--color-muted) / .7)}.text-dark-muted\/80{color:rgb(var(--color-muted) / .8)}.text-dark-text{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.text-dark-text\/70{color:rgb(var(--color-text) / .7)}.text-dark-text\/80{color:rgb(var(--color-text) / .8)}.text-dark-text\/90{color:rgb(var(--color-text) / .9)}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-indigo-300{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity, 1))}.text-orange-300{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-pink-300{--tw-text-opacity: 1;color:rgb(249 168 212 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-teal-300{--tw-text-opacity: 1;color:rgb(94 234 212 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/70{color:#ffffffb3}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600\/70{color:#ca8a04b3}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-accent-blue\/40{text-decoration-color:rgb(var(--color-accent-blue) / .4)}.decoration-dark-muted\/40{text-decoration-color:rgb(var(--color-muted) / .4)}.underline-offset-2{text-underline-offset:2px}.placeholder-dark-muted::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(var(--color-muted) / var(--tw-placeholder-opacity, 1))}.placeholder-dark-muted::placeholder{--tw-placeholder-opacity: 1;color:rgb(var(--color-muted) / var(--tw-placeholder-opacity, 1))}.placeholder-dark-muted\/50::-moz-placeholder{color:rgb(var(--color-muted) / .5)}.placeholder-dark-muted\/50::placeholder{color:rgb(var(--color-muted) / .5)}.placeholder-dark-muted\/60::-moz-placeholder{color:rgb(var(--color-muted) / .6)}.placeholder-dark-muted\/60::placeholder{color:rgb(var(--color-muted) / .6)}.caret-dark-text{caret-color:rgb(var(--color-text) / 1)}.accent-accent-blue{accent-color:rgb(var(--color-accent-blue) / 1)}.accent-accent-green{accent-color:rgb(var(--color-accent-green) / 1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_-10px_30px_-15px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: 0 -10px 30px -15px rgba(0,0,0,.5);--tw-shadow-colored: 0 -10px 30px -15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_-12px_40px_-10px_rgba\(0\,0\,0\,0\.6\)\]{--tw-shadow: 0 -12px 40px -10px rgba(0,0,0,.6);--tw-shadow-colored: 0 -12px 40px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_20px_rgb\(var\(--color-accent-blue\)\/0\.14\)\]{--tw-shadow: 0 8px 20px rgb(var(--color-accent-blue)/.14);--tw-shadow-colored: 0 8px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: var(--shadow-xl);--tw-shadow-colored: var(--shadow-xl);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/10{--tw-shadow-color: rgb(0 0 0 / .1);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-accent-blue{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-accent-blue) / var(--tw-ring-opacity, 1))}.ring-accent-blue\/25{--tw-ring-color: rgb(var(--color-accent-blue) / .25)}.ring-accent-blue\/30{--tw-ring-color: rgb(var(--color-accent-blue) / .3)}.ring-accent-blue\/60{--tw-ring-color: rgb(var(--color-accent-blue) / .6)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[1px\]{--tw-backdrop-blur: blur(1px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--color-bg: 255 255 255;--color-surface: 246 246 247;--color-border: 228 228 232;--color-hover: 240 240 243;--color-text: 24 24 27;--color-muted: 113 113 122;--color-accent-blue: 94 106 210;--color-accent-green: 22 163 74;--color-accent-red: 220 38 38;--color-accent-yellow: 180 83 9;--color-accent-purple: 124 58 237;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1)}.light{--color-bg: 255 255 255;--color-surface: 246 246 247;--color-border: 228 228 232;--color-hover: 240 240 243;--color-text: 24 24 27;--color-muted: 113 113 122;--color-accent-blue: 94 106 210;--color-accent-green: 22 163 74;--color-accent-red: 220 38 38;--color-accent-yellow: 180 83 9;--color-accent-purple: 124 58 237}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden;overscroll-behavior:none}body{font-family:Inter,ui-sans-serif,system-ui,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;background-color:rgb(var(--color-bg));color:rgb(var(--color-text));line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11"}button,input,textarea,select{font:inherit}*{scrollbar-width:thin;scrollbar-color:rgb(var(--color-border)) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:rgb(var(--color-border));border:3px solid transparent;border-radius:999px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--color-muted))}::-webkit-scrollbar-corner{background:transparent}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:rgb(var(--color-border)) transparent}.custom-scrollbar::-webkit-scrollbar{width:10px;height:10px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:rgb(var(--color-border));border:3px solid transparent;border-radius:999px;background-clip:padding-box}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--color-muted))}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}::-moz-selection{background-color:rgb(var(--color-accent-blue) / .18)}::selection{background-color:rgb(var(--color-accent-blue) / .18)}:focus-visible{outline:2px solid rgb(var(--color-accent-blue) / .7);outline-offset:1px}.btn{display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-lg);padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn:disabled{cursor:not-allowed;opacity:.4}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(var(--color-text) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-bg) / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-primary:hover{opacity:.85}.btn-accent{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-accent:hover{opacity:.9}.btn-secondary{border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1))}.btn-ghost{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.btn-ghost:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.btn-danger{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-red) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-danger:hover{opacity:.9}.input{width:100%;border-radius:var(--radius-lg);border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));padding:.625rem .875rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.input::-moz-placeholder{color:rgb(var(--color-muted) / .7)}.input::placeholder{color:rgb(var(--color-muted) / .7)}.input{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.input:focus{border-color:rgb(var(--color-accent-blue) / .6);outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(var(--color-accent-blue) / .15)}.card,.panel-surface{border-radius:var(--radius-xl);border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.paper-surface{background:rgb(var(--color-bg) / .85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-shell{background-color:rgb(var(--color-bg))}.workbench-frame{border:1px solid rgb(var(--color-border));background:rgb(var(--color-bg) / .85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mimo-tab{display:inline-flex;align-items:center;gap:.5rem;border-radius:var(--radius-lg);border-width:1px;border-color:transparent;padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mimo-tab[data-active=true]{--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.mimo-tab[data-active=false]{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.mimo-tab[data-active=false]:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.side-nav-item{position:relative;display:flex;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:.625rem;border-radius:var(--radius-lg);padding-left:.625rem;padding-right:.625rem;padding-top:7px;padding-bottom:7px;font-size:13px;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}.side-nav-item[data-active=true]{background-color:rgb(var(--color-accent-blue) / .1);--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.side-nav-item[data-active=false]{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.side-nav-item[data-active=false]:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.side-nav-item[data-active=true]:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:999px;background:rgb(var(--color-accent-blue))}.side-group-label{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:1rem .625rem .25rem;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgb(var(--color-muted) / .7)}.section-title{font-size:.875rem;line-height:1.25rem;font-weight:600;letter-spacing:.025em;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.subtle-label{font-size:11px;text-transform:uppercase;letter-spacing:.18em;--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.72}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pixel-run{0%,49.9%{opacity:1}50%,to{opacity:.18}}.pixel-spinner{display:inline-grid;grid-template-columns:repeat(2,3px);grid-template-rows:repeat(2,3px);gap:2px;vertical-align:middle}.pixel-spinner>span{width:3px;height:3px;background:currentColor;animation:pixel-run .8s linear infinite}.pixel-spinner>span:nth-child(1){animation-delay:0s}.pixel-spinner>span:nth-child(2){animation-delay:.2s}.pixel-spinner>span:nth-child(4){animation-delay:.4s}.pixel-spinner>span:nth-child(3){animation-delay:.6s}.pixel-grid{display:inline-grid;grid-template-columns:repeat(2,3px);grid-template-rows:repeat(2,3px);gap:2px;vertical-align:middle}.pixel-grid>span{width:3px;height:3px;background:currentColor}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideUp .28s cubic-bezier(.22,1,.36,1)}.animate-slide-in{animation:slideIn .3s ease-out}.animate-slide-in-right{animation:slideInRight .3s ease-out}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.animate-blink{animation:blink 1s infinite}@keyframes railFlash{0%{background-color:rgb(var(--color-accent-blue) / .16);box-shadow:inset 2px 0 rgb(var(--color-accent-blue) / .6);opacity:1}55%{background-color:rgb(var(--color-accent-blue) / .1)}to{background-color:transparent;box-shadow:inset 2px 0 0 0 transparent;opacity:0}}.animate-rail-flash{border-radius:.5rem;animation:railFlash 1.6s cubic-bezier(.22,1,.36,1) forwards}.animate-spin{animation:spin 1s linear infinite}.skeleton-shimmer{background-image:linear-gradient(90deg,rgb(var(--color-border) / .34) 25%,rgb(var(--color-muted) / .18) 37%,rgb(var(--color-border) / .34) 63%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.markdown-content{white-space:normal;word-break:break-word}.markdown-content h1{margin-top:1rem;margin-bottom:.5rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.markdown-content h2{margin-top:1rem;margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.markdown-content h3{margin-top:.75rem;margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.markdown-content p{margin-top:.5rem;margin-bottom:.5rem}.markdown-content ul,.markdown-content ol{margin-top:.5rem;margin-bottom:.5rem;padding-left:1.5rem}.markdown-content li{margin-top:.25rem;margin-bottom:.25rem}.markdown-content code{border-radius:var(--radius-md);--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1));padding:.125rem .375rem;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:.85em}.markdown-content pre{margin-top:.75rem;margin-bottom:.75rem;overflow-x:auto;border-radius:var(--radius-xl);border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding:.875rem}.markdown-content pre code{background-color:transparent;padding:0}.markdown-content blockquote{margin-top:.75rem;margin-bottom:.75rem;border-left-width:3px;border-color:rgb(var(--color-accent-blue) / .4);padding-left:1rem;--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.markdown-content a{--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1));text-decoration-line:underline;text-decoration-color:rgb(var(--color-accent-blue) / .3);text-underline-offset:2px}.markdown-content a:hover{text-decoration-color:rgb(var(--color-accent-blue) / .6)}.markdown-content table{margin-top:.75rem;margin-bottom:.75rem;width:100%;border-collapse:collapse;overflow:hidden;border-radius:var(--radius-lg)}.markdown-content th,.markdown-content td{border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));padding:.5rem .75rem;text-align:left}.markdown-content th{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));font-weight:600}code[class*=language-],pre[class*=language-]{font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.25rem}.token.comment,.token.prolog,.token.doctype,.token.cdata{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.token.punctuation{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{--tw-text-opacity: 1;color:rgb(var(--color-accent-red) / var(--tw-text-opacity, 1))}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{--tw-text-opacity: 1;color:rgb(var(--color-accent-green) / var(--tw-text-opacity, 1))}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{--tw-text-opacity: 1;color:rgb(var(--color-accent-yellow) / var(--tw-text-opacity, 1))}.token.atrule,.token.attr-value,.token.keyword{--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.token.function,.token.class-name{color:rgb(var(--color-accent-purple))}.token.regex,.token.important,.token.variable{--tw-text-opacity: 1;color:rgb(var(--color-accent-yellow) / var(--tw-text-opacity, 1))}.chat-stack{margin-left:auto;margin-right:auto;width:100%;max-width:46rem;padding-left:1rem;padding-right:1rem}@media(min-width:640px){.chat-stack{padding-left:1.5rem;padding-right:1.5rem}}.chat-msg{display:flex;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-msg{animation:fadeInUp .4s ease-out;align-items:flex-start;gap:.75rem}.chat-msg[data-role=user]{flex-direction:row-reverse}.chat-msg[data-role=system]{justify-content:center}.chat-card{min-width:0px;flex:1 1 0%;border-radius:var(--radius-xl);border-width:1px;border-color:rgb(var(--color-border) / .5);background-color:rgb(var(--color-surface) / .6);padding:1rem 1.25rem 2.25rem;box-shadow:var(--shadow-air-1)}.chat-msg[data-role=user]>.chat-card{border-color:rgb(var(--color-border) / .4);--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1))}.chat-card-tail{border-bottom-right-radius:.375rem}.chat-avatar{margin-top:.125rem;display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.chat-avatar[data-status=running]:after{content:"";position:absolute}.chat-msg[data-role=user]>.chat-avatar{border-color:rgb(var(--color-border) / .5);background-color:rgb(var(--color-accent-blue) / .1);--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.chat-card .markdown-content{font-size:14.5px;line-height:1.625}.chat-card .markdown-content>:first-child{margin-top:0}.chat-card .markdown-content>:last-child{margin-bottom:0}@keyframes typing-dots{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.chat-typing-dots{display:inline-flex;align-items:center;gap:.25rem}.chat-typing-dots>span{height:.375rem;width:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1));animation:typing-dots 1.2s ease-in-out infinite}.chat-typing-dots>span:nth-child(2){animation-delay:.15s}.chat-typing-dots>span:nth-child(3){animation-delay:.3s}:root{--ui-sidebar-width: 15rem;--ui-content-max: 52rem;--ui-control-height: 2.25rem;--ui-focus-ring: 0 0 0 4px rgb(var(--color-accent-blue) / .12);--ui-panel-glow: 0 18px 50px rgb(0 0 0 / .08)}.ui-page{height:100%;min-height:0px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgb(var(--color-border)) transparent}.ui-page::-webkit-scrollbar{width:10px;height:10px}.ui-page::-webkit-scrollbar-track{background:transparent}.ui-page::-webkit-scrollbar-thumb{background-color:rgb(var(--color-border));border:3px solid transparent;border-radius:999px;background-clip:padding-box}.ui-page::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--color-muted))}.ui-page{background:radial-gradient(circle at 85% -15%,rgb(var(--color-accent-blue) / .07),transparent 34%),rgb(var(--color-bg))}.ui-page-inner{margin-left:auto;margin-right:auto;width:100%;max-width:84rem;padding:1.25rem 1rem}@media(min-width:640px){.ui-page-inner{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.ui-page-inner{padding-left:2rem;padding-right:2rem}}.ui-page-header{margin-bottom:1.25rem;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.ui-page-title{font-size:1.25rem;line-height:1.75rem;font-weight:600;letter-spacing:-.02em;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}@media(min-width:640px){.ui-page-title{font-size:1.5rem;line-height:2rem}}.ui-page-subtitle{margin-top:.25rem;max-width:42rem;font-size:.875rem;line-height:1.5rem;--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.ui-section{border-radius:var(--radius-xl);border-width:1px;border-color:rgb(var(--color-border) / .7);background-color:rgb(var(--color-surface) / .45);padding:1rem}@media(min-width:640px){.ui-section{padding:1.25rem}}.ui-section{box-shadow:var(--shadow-air-1)}.ui-section-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.ui-section-kicker{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:rgb(var(--color-muted) / .7)}.ui-card{border-radius:var(--radius-xl);border-width:1px;border-color:rgb(var(--color-border) / .7);background-color:rgb(var(--color-surface) / .65);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ui-card-interactive{cursor:pointer;border-radius:var(--radius-xl);border-width:1px;border-color:rgb(var(--color-border) / .7);background-color:rgb(var(--color-surface) / .65);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ui-card-interactive:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:rgb(var(--color-accent-blue) / .4);background-color:rgb(var(--color-hover) / .6);--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.ui-card-interactive[data-active=true],.ui-card[data-selected=true]{border-color:rgb(var(--color-accent-blue) / .6);background-color:rgb(var(--color-accent-blue) / .1);box-shadow:inset 3px 0 rgb(var(--color-accent-blue))}.ui-input{width:100%;border-radius:var(--radius-xl);border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));padding:.625rem .875rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.ui-input::-moz-placeholder{color:rgb(var(--color-muted) / .6)}.ui-input::placeholder{color:rgb(var(--color-muted) / .6)}.ui-input{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ui-input:focus{border-color:rgb(var(--color-accent-blue) / .6);outline:2px solid transparent;outline-offset:2px;box-shadow:var(--ui-focus-ring)}.ui-icon-button{display:inline-flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:var(--radius-lg);--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ui-icon-button:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.ui-icon-button:disabled{cursor:not-allowed;opacity:.4}.ui-icon-button[data-active=true]{background-color:rgb(var(--color-accent-blue) / .1);--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.ui-divider{border-color:rgb(var(--color-border) / .6)}.ui-empty-state{border-radius:var(--radius-xl);border-width:1px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));background-color:rgb(var(--color-surface) / .35);padding:2.5rem 1.5rem;text-align:center}.ui-status-dot{display:inline-block;height:.5rem;width:.5rem;border-radius:9999px}.ui-status-dot[data-status=online]{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-green) / var(--tw-bg-opacity, 1))}@keyframes pulse{50%{opacity:.5}}.ui-status-dot[data-status=busy]{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-yellow) / var(--tw-bg-opacity, 1))}.ui-status-dot[data-status=error]{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-red) / var(--tw-bg-opacity, 1))}.ui-status-dot[data-status=offline]{background-color:rgb(var(--color-muted) / .5)}.workbench-sidebar{background:linear-gradient(180deg,rgb(var(--color-surface) / .98),rgb(var(--color-bg) / .98))}.workbench-sidebar .side-nav-item{position:relative;border-radius:var(--radius-lg);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.workbench-sidebar .side-nav-item[data-active=true]{background-color:rgb(var(--color-accent-blue) / .1);--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1));box-shadow:inset 2px 0 rgb(var(--color-accent-blue))}.workbench-sidebar .side-nav-item[data-active=true]:after{content:"";position:absolute;right:.5rem;height:.375rem;width:.375rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1))}.chat-workspace{background:radial-gradient(circle at 50% 0%,rgb(var(--color-accent-blue) / .045),transparent 34%),rgb(var(--color-bg))}.chat-toolbar{border-bottom-width:1px;border-color:rgb(var(--color-border) / .7);background-color:rgb(var(--color-bg) / .85);--tw-backdrop-blur: blur(12px);-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)}.chat-toolbar-title{max-width:min(38vw,30rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;letter-spacing:-.01em;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.chat-toolbar-meta{display:none;align-items:center;gap:.375rem;font-size:11px;--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}@media(min-width:640px){.chat-toolbar-meta{display:flex}}.chat-composer-shell{background-image:linear-gradient(to top,var(--tw-gradient-stops));--tw-gradient-from: rgb(var(--color-bg) / 1) var(--tw-gradient-from-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(var(--color-bg) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(var(--color-bg) / .95) var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: transparent var(--tw-gradient-to-position)}.chat-composer-card{border-color:rgb(var(--color-border) / .8);background-color:rgb(var(--color-surface) / .9);--tw-backdrop-blur: blur(12px);-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);box-shadow:var(--shadow-air-1)}.chat-composer-card:focus-within{border-color:rgb(var(--color-accent-blue) / .55);box-shadow:var(--ui-focus-ring),var(--shadow-air-2)}.chat-empty-orb{position:relative;margin-left:auto;margin-right:auto;margin-bottom:1.25rem;display:flex;height:4rem;width:4rem;align-items:center;justify-content:center;border-radius:var(--radius-2xl);border-width:1px;border-color:rgb(var(--color-accent-blue) / .2);background-color:rgb(var(--color-accent-blue) / .1);box-shadow:0 0 0 8px rgb(var(--color-accent-blue) / .035),0 12px 35px rgb(var(--color-accent-blue) / .12)}.chat-empty-orb:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:1.25rem;border-width:1px;border-color:rgb(var(--color-accent-blue) / .1)}.chat-message-actions{opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.chat-msg:hover .chat-message-actions,.chat-msg:focus-within .chat-message-actions{opacity:1}:root{--shadow-air-1: 0 1px 2px rgb(0 0 0 / .04), 0 2px 8px rgb(0 0 0 / .03);--shadow-air-2: 0 4px 12px rgb(0 0 0 / .05), 0 12px 32px rgb(0 0 0 / .06)}.text-shimmer{background:linear-gradient(90deg,rgb(var(--color-muted) / .75),rgb(var(--color-muted) / .75) 38%,rgb(var(--color-text)),rgb(var(--color-muted) / .75) 62%,rgb(var(--color-muted) / .75));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 2.2s linear infinite}.tl-row{position:relative}.tl-line{position:absolute;left:14px;top:24px;bottom:-2px;width:1px;background:linear-gradient(to bottom,rgb(var(--color-muted) / .28),rgb(var(--color-muted) / .14));pointer-events:none}.tl-node{position:relative;display:inline-block;height:.5rem;width:.5rem;flex-shrink:0;border-radius:9999px}.tl-node[data-status=pending]{background-color:rgb(var(--color-muted) / .35)}.tl-node[data-status=success]{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-green) / var(--tw-bg-opacity, 1))}.tl-node[data-status=warning]{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-yellow) / var(--tw-bg-opacity, 1))}.tl-node[data-status=error]{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-red) / var(--tw-bg-opacity, 1));animation:tl-shake .4s cubic-bezier(.36,.07,.19,.97) both}.tl-node[data-status=running]{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1))}.tl-node[data-status=running]:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:9999px;border:1.5px solid rgb(var(--color-accent-blue) / .5);animation:tl-pulse 1.6s ease-out infinite}.tv-pre{white-space:pre-wrap;word-break:break-all;padding:.5rem;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:11px}@keyframes tl-pulse{0%{transform:scale(.55);opacity:1}70%,to{transform:scale(1.7);opacity:0}}@keyframes tl-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-3px)}40%,60%{transform:translate(3px)}}.status-pill{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap;border-radius:9999px;padding:.125rem .5rem;font-size:11px;font-weight:500;line-height:1;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.status-pill[data-tone=brand]{background:rgb(var(--color-accent-blue) / .1);color:rgb(var(--color-accent-blue))}.status-pill[data-tone=green]{background:rgb(var(--color-accent-green) / .1);color:rgb(var(--color-accent-green))}.status-pill[data-tone=yellow]{background:rgb(var(--color-accent-yellow) / .12);color:rgb(var(--color-accent-yellow))}.status-pill[data-tone=purple]{background:rgb(var(--color-accent-purple) / .1);color:rgb(var(--color-accent-purple))}.status-pill[data-tone=red]{background:rgb(var(--color-accent-red) / .1);color:rgb(var(--color-accent-red))}.status-pill[data-tone=neutral]{background:rgb(var(--color-muted) / .1);color:rgb(var(--color-muted))}.toast-card{display:flex;align-items:flex-start;gap:.625rem;border-radius:var(--radius-xl);border-width:1px;padding:.625rem .75rem;background:rgb(var(--color-surface) / .92);border-color:rgb(var(--color-border));box-shadow:var(--shadow-air-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.toast-card-count{margin-left:.125rem;flex-shrink:0;border-radius:9999px;padding-left:.375rem;padding-right:.375rem;padding-top:1px;padding-bottom:1px;font-size:10px;font-weight:600;--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);background:rgb(var(--color-muted) / .14);color:rgb(var(--color-text))}@media(max-width:767px){.ui-page-inner{padding:1rem .75rem}.ui-section{border-radius:var(--radius-xl);padding:.875rem}.chat-toolbar-title{max-width:52vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.placeholder\:text-dark-muted\/40::-moz-placeholder{color:rgb(var(--color-muted) / .4)}.placeholder\:text-dark-muted\/40::placeholder{color:rgb(var(--color-muted) / .4)}.placeholder\:text-dark-muted\/50::-moz-placeholder{color:rgb(var(--color-muted) / .5)}.placeholder\:text-dark-muted\/50::placeholder{color:rgb(var(--color-muted) / .5)}.placeholder\:text-dark-muted\/55::-moz-placeholder{color:rgb(var(--color-muted) / .55)}.placeholder\:text-dark-muted\/55::placeholder{color:rgb(var(--color-muted) / .55)}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.focus-within\:border-accent-blue:focus-within{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.focus-within\:border-accent-blue\/45:focus-within{border-color:rgb(var(--color-accent-blue) / .45)}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-accent-blue:hover{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.hover\:border-accent-blue\/30:hover{border-color:rgb(var(--color-accent-blue) / .3)}.hover\:border-accent-blue\/40:hover{border-color:rgb(var(--color-accent-blue) / .4)}.hover\:border-accent-blue\/50:hover{border-color:rgb(var(--color-accent-blue) / .5)}.hover\:border-accent-green\/40:hover{border-color:rgb(var(--color-accent-green) / .4)}.hover\:border-accent-green\/50:hover{border-color:rgb(var(--color-accent-green) / .5)}.hover\:border-dark-hover:hover{--tw-border-opacity: 1;border-color:rgb(var(--color-hover) / var(--tw-border-opacity, 1))}.hover\:border-dark-muted\/40:hover{border-color:rgb(var(--color-muted) / .4)}.hover\:border-dark-muted\/50:hover{border-color:rgb(var(--color-muted) / .5)}.hover\:border-red-500\/40:hover{border-color:#ef444466}.hover\:bg-\[\#3c3c3c\]:hover{--tw-bg-opacity: 1;background-color:rgb(60 60 60 / var(--tw-bg-opacity, 1))}.hover\:bg-accent-blue:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1))}.hover\:bg-accent-blue\/10:hover{background-color:rgb(var(--color-accent-blue) / .1)}.hover\:bg-accent-blue\/20:hover{background-color:rgb(var(--color-accent-blue) / .2)}.hover\:bg-accent-blue\/25:hover{background-color:rgb(var(--color-accent-blue) / .25)}.hover\:bg-accent-blue\/30:hover{background-color:rgb(var(--color-accent-blue) / .3)}.hover\:bg-accent-blue\/80:hover{background-color:rgb(var(--color-accent-blue) / .8)}.hover\:bg-accent-blue\/90:hover{background-color:rgb(var(--color-accent-blue) / .9)}.hover\:bg-accent-green\/10:hover{background-color:rgb(var(--color-accent-green) / .1)}.hover\:bg-accent-green\/20:hover{background-color:rgb(var(--color-accent-green) / .2)}.hover\:bg-accent-green\/25:hover{background-color:rgb(var(--color-accent-green) / .25)}.hover\:bg-accent-green\/30:hover{background-color:rgb(var(--color-accent-green) / .3)}.hover\:bg-accent-purple\/10:hover{background-color:rgb(var(--color-accent-purple) / .1)}.hover\:bg-accent-red\/10:hover{background-color:rgb(var(--color-accent-red) / .1)}.hover\:bg-accent-red\/20:hover{background-color:rgb(var(--color-accent-red) / .2)}.hover\:bg-accent-red\/25:hover{background-color:rgb(var(--color-accent-red) / .25)}.hover\:bg-accent-red\/30:hover{background-color:rgb(var(--color-accent-red) / .3)}.hover\:bg-accent-red\/90:hover{background-color:rgb(var(--color-accent-red) / .9)}.hover\:bg-accent-yellow\/10:hover{background-color:rgb(var(--color-accent-yellow) / .1)}.hover\:bg-amber-500\/25:hover{background-color:#f59e0b40}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-500\/10:hover{background-color:#3b82f61a}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-dark-bg:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1))}.hover\:bg-dark-border:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-border) / var(--tw-bg-opacity, 1))}.hover\:bg-dark-hover:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1))}.hover\:bg-dark-hover\/30:hover{background-color:rgb(var(--color-hover) / .3)}.hover\:bg-dark-hover\/50:hover{background-color:rgb(var(--color-hover) / .5)}.hover\:bg-dark-hover\/60:hover{background-color:rgb(var(--color-hover) / .6)}.hover\:bg-dark-surface:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1))}.hover\:bg-dark-surface\/40:hover{background-color:rgb(var(--color-surface) / .4)}.hover\:bg-dark-surface\/50:hover{background-color:rgb(var(--color-surface) / .5)}.hover\:bg-dark-surface\/60:hover{background-color:rgb(var(--color-surface) / .6)}.hover\:bg-dark-surface\/80:hover{background-color:rgb(var(--color-surface) / .8)}.hover\:bg-emerald-500\/25:hover{background-color:#10b98140}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500\/10:hover{background-color:#22c55e1a}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600\/25:hover{background-color:#16a34a40}.hover\:bg-purple-600:hover{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:text-accent-blue:hover{--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.hover\:text-accent-green:hover{--tw-text-opacity: 1;color:rgb(var(--color-accent-green) / var(--tw-text-opacity, 1))}.hover\:text-accent-red:hover{--tw-text-opacity: 1;color:rgb(var(--color-accent-red) / var(--tw-text-opacity, 1))}.hover\:text-accent-red\/80:hover{color:rgb(var(--color-accent-red) / .8)}.hover\:text-accent-yellow:hover{--tw-text-opacity: 1;color:rgb(var(--color-accent-yellow) / var(--tw-text-opacity, 1))}.hover\:text-dark-muted:hover{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.hover\:text-dark-text:hover{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-accent-blue:hover{text-decoration-color:rgb(var(--color-accent-blue) / 1)}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-85:hover{opacity:.85}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-95:hover{opacity:.95}.hover\:shadow-sm:hover{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: var(--shadow-xl);--tw-shadow-colored: var(--shadow-xl);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-accent-blue:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.focus\:border-accent-blue\/50:focus{border-color:rgb(var(--color-accent-blue) / .5)}.focus\:border-accent-blue\/60:focus{border-color:rgb(var(--color-accent-blue) / .6)}.focus\:border-accent-green:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-green) / var(--tw-border-opacity, 1))}.focus\:border-accent-red:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-red) / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-accent-blue:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-accent-blue) / var(--tw-ring-opacity, 1))}.focus\:ring-accent-blue\/10:focus{--tw-ring-color: rgb(var(--color-accent-blue) / .1)}.focus\:ring-accent-blue\/15:focus{--tw-ring-color: rgb(var(--color-accent-blue) / .15)}.focus\:ring-accent-blue\/20:focus{--tw-ring-color: rgb(var(--color-accent-blue) / .2)}.focus\:ring-accent-blue\/50:focus{--tw-ring-color: rgb(var(--color-accent-blue) / .5)}.focus\:ring-accent-red\/20:focus{--tw-ring-color: rgb(var(--color-accent-red) / .2)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-25:disabled{opacity:.25}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group\/item:hover .group-hover\/item\:line-clamp-none{overflow:visible;display:block;-webkit-box-orient:horizontal;-webkit-line-clamp:none}.group\/item:hover .group-hover\/item\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/dot:hover .group-hover\/dot\:scale-125{--tw-scale-x: 1.25;--tw-scale-y: 1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/dot:hover .group-hover\/dot\:scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/dot:hover .group-hover\/dot\:bg-dark-muted{--tw-bg-opacity: 1;background-color:rgb(var(--color-muted) / var(--tw-bg-opacity, 1))}.group\/item:hover .group-hover\/item\:bg-dark-border\/80{background-color:rgb(var(--color-border) / .8)}.group\/item:hover .group-hover\/item\:text-dark-text{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-accent-yellow{--tw-text-opacity: 1;color:rgb(var(--color-accent-yellow) / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-dark-text{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.group\/item:hover .group-hover\/item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.data-\[resize-handle-state\=drag\]\:bg-accent-blue[data-resize-handle-state=drag],.data-\[resize-handle-state\=hover\]\:bg-accent-blue[data-resize-handle-state=hover]{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1))}.dark\:border-amber-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(180 83 9 / var(--tw-border-opacity, 1))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(29 78 216 / var(--tw-border-opacity, 1))}.dark\:border-gray-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:bg-amber-900\/20:is(.dark *){background-color:#78350f33}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-emerald-900\/20:is(.dark *){background-color:#064e3b33}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-blue-900\/30:hover:is(.dark *){background-color:#1e3a8a4d}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}@media(min-width:640px){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:768px){.md\:block{display:block}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:w-20{width:5rem}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:1280px){.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1536px){.\32xl\:inline{display:inline}.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:9999px}.\[\&\:\:-webkit-slider-thumb\]\:bg-accent-blue::-webkit-slider-thumb{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1))}.\[\&_\.threeui-background\]\:bg-transparent .threeui-background{background-color:transparent}.\[\&_pre\]\:overflow-x-auto pre{overflow-x:auto}.\[\&_pre\]\:bg-dark-bg pre{--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1))}.\[\&_pre\]\:p-3 pre{padding:.75rem}