const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./missileLogic-_46Nr-Ju.js","./game-logic-BBFCPVtv.js","./game-config-DRP-gbpS.js","./game-i18n-BC9uiVvf.js","./rolldown-runtime-CIDIeb-o.js","./OverviewView-D7lWE9IR.js","./vendor-others-Bce0hM6h.js","./vendor-others-BMPyaZWq.css","./vendor-reka-ui-DR3m_AkV.js","./vendor-vueuse-Djj-oRw9.js","./vendor-crypto-CQM8pryk.js","./vendor-utils-BlvnUqQX.js","./vendor-pinia-L_8CmDWM.js","./CardDescription-DduF5EVY.js","./TabsTrigger-BnZOhHbD.js","./useGameConfig-DLqfPHtW.js","./BuildingsView-BwpaZTPf.js","./vendor-icons-Ccm2_GPI.js","./CardUnlockOverlay-CspXlcWR.js","./ResearchView-BoGXU7Gy.js","./vendor-vue-router-0mfLVB6Y.js","./UnlockRequirement-DJ9dN5JL.js","./ShipyardView-DRH89hEQ.js","./DefenseView-aCDrCjw8.js","./FleetView-BzElc0kX.js","./OfficersView-CXh701uW.js","./BattleSimulatorView-BMgbGRUI.js","./BattleReportDialog-BNULWr3T.js","./TooltipProvider-Cspoy8HK.js","./MessagesView-w53RKU-r.js","./GalaxyView-LGfalWWd.js","./SelectValue-8cT4Hu-1.js","./DiplomacyView-BZEvKDfM.js","./SettingsView-CqA4xeYn.js","./GMView-BMhV90vD.js","./empty-Ds0PR_Pd.js","./NotFoundView-BqreQe6E.js"])))=>i.map(i=>d[i]); import{i as e}from"./rolldown-runtime-CIDIeb-o.js";import{$t as t,An as n,Bt as r,C as i,Ct as a,D as o,Dt as s,E as c,En as l,Et as u,F as ee,Fn as te,Gt as d,I as ne,Jt as re,K as f,Kt as p,L as ie,M as ae,N as oe,Nt as se,O as ce,On as m,P as le,Pt as ue,Q as de,Qt as h,R as fe,Rn as g,T as pe,Tn as me,Tt as he,U as ge,Ut as _e,Wn as ve,Wt as ye,Xt as be,Y as xe,Yn as _,Zt as Se,_t as Ce,ar as v,bt as we,cn as y,cr as b,ct as Te,dn as x,fn as S,ft as Ee,hn as C,ht as De,kn as w,kt as Oe,ln as T,lt as E,mt as ke,on as D,or as O,pn as k,pt as Ae,qt as je,rn as A,rr as j,sn as M,sr as Me,un as N,ut as Ne,w as Pe,wn as Fe,xn as P,yt as Ie,z as Le,zn as Re,zt as ze}from"./game-logic-BBFCPVtv.js";import{n as Be,r as Ve,t as He}from"./vendor-pinia-L_8CmDWM.js";import{i as Ue,n as We,r as Ge,t as Ke}from"./vendor-vue-router-0mfLVB6Y.js";import{t as qe}from"./vendor-crypto-CQM8pryk.js";import{n as Je,r as Ye,t as Xe}from"./game-i18n-BC9uiVvf.js";import{B as Ze,l as F,n as Qe,r as $e,t as et,z as tt}from"./vendor-others-Bce0hM6h.js";import{$ as I,A as nt,B as L,C as rt,G as R,H as it,J as at,K as z,L as ot,M as st,N as ct,P as lt,Q as ut,R as dt,U as ft,V as pt,W as mt,X as ht,Y as gt,Z as _t,a as vt,et as yt,i as bt,j as xt,n as St,o as Ct,q as wt,r as Tt,t as Et,tt as Dt,w as Ot,z as kt}from"./vendor-reka-ui-DR3m_AkV.js";import{n as At}from"./vendor-utils-BlvnUqQX.js";import{i as jt,n as Mt,r as Nt,t as Pt}from"./vendor-vueuse-Djj-oRw9.js";import{A as Ft,C as It,E as Lt,G as Rt,H as zt,I as Bt,K as Vt,M as Ht,N as Ut,O as Wt,P as Gt,Q as Kt,R as qt,T as Jt,W as Yt,X as Xt,d as Zt,g as Qt,h as $t,i as en,j as tn,l as nn,m as rn,n as an,p as on,q as sn,r as cn,s as ln,t as un,u as dn,v as fn,w as pn,z as mn}from"./vendor-icons-Ccm2_GPI.js";import{l as hn,m as B,r as gn}from"./game-config-DRP-gbpS.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href;var V={name:`ogame-vue-ts`,title:`OGame-Vue-Ts`,qq:`920930589`,id:`2zBlHPUA6E`,author:{name:`setube`,email:`1962257451@qq.com`},private:!0,version:`1.2.5`,buildDate:`2025/12/15 19:58:04`,main:`dist-electron/main.js`,type:`module`,scripts:{dev:`vite --port 25121`,build:`vue-tsc -b && vite build && node update-build-date.js`,preview:`vite preview`,"build:server":`pnpm run build && go build`,"build:electron":`cross-env ELECTRON_BUILD=1 pnpm run build && electron-builder`},dependencies:{"@tailwindcss/vite":`^4.1.17`,"@tanstack/vue-table":`^8.21.3`,"@vueuse/core":`^14.1.0`,"class-variance-authority":`^0.7.1`,clsx:`^2.1.1`,"crypto-js":`^4.2.0`,"file-saver":`^2.0.5`,finalhandler:`^2.1.1`,"lucide-vue-next":`^0.556.0`,marked:`^17.0.1`,pinia:`^3.0.4`,"pinia-plugin-persistedstate":`^4.7.1`,"reka-ui":`^2.6.1`,"serve-static":`^2.2.0`,"tailwind-merge":`^3.4.0`,tailwindcss:`^4.1.17`,vue:`^3.5.24`,"vue-router":`4`,"vue-sonner":`^2.0.9`},devDependencies:{"@types/crypto-js":`^4.2.2`,"@types/file-saver":`^2.0.7`,"@types/node":`^24.10.2`,"@vitejs/plugin-vue":`^6.0.1`,"@vue/tsconfig":`^0.8.1`,"cross-env":`^7.0.3`,electron:`^39.2.7`,"electron-builder":`^26.0.12`,"electron-vite":`^5.0.0`,"tw-animate-css":`^1.4.0`,typescript:`~5.9.3`,vite:`npm:rolldown-vite@7.2.5`,"vite-plugin-electron":`^0.29.0`,"vite-plugin-electron-renderer":`^0.14.6`,"vue-tsc":`^3.1.4`},pnpm:{overrides:{vite:`npm:rolldown-vite@7.2.5`},onlyBuiltDependencies:[`electron-winstaller`,`esbuild`,`vue-demi`],ignoredBuiltDependencies:[`electron`]},packageManager:`pnpm@10.13.1+sha512.37ebf1a5c7a30d5fabe0c5df44ee8da4c965ca0c5af3dbab28c3a1681b70a256218d05c81c9c0dcf767ef6b8551eb5b960042b9ed4300c59242336377e01cfad`,build:{appId:`games.wenzi.ogame`,productName:`OGame`,directories:{output:`pkg`},win:{target:`nsis`,icon:`public/favicon.ico`,verifyUpdateCodeSignature:!1,artifactName:"${productName}-Setup.${ext}"},mac:{target:[`dmg`,`zip`],artifactName:"${productName}-mac.${ext}"},linux:{target:[`AppImage`,`deb`],artifactName:"${productName}-linux.${ext}"}}},_n=e(qe(),1);const vn=e=>{try{let t=JSON.stringify(e);return _n.default.AES.encrypt(t,V.name).toString()}catch(e){console.error(e)}return``},yn=e=>{try{let t=_n.default.AES.decrypt(e,V.name).toString(_n.default.enc.Utf8);return JSON.parse(t)}catch(e){return console.error(e),{}}},bn=Ve(`game`,{state:()=>({gameTime:Date.now(),isPaused:!1,gameSpeed:1,player:{id:`player1`,name:``,planets:[],technologies:{},officers:{},researchQueue:[],fleetMissions:[],missileAttacks:[],battleReports:[],spyReports:[],spiedNotifications:[],npcActivityNotifications:[],missionReports:[],incomingFleetAlerts:[],giftNotifications:[],giftRejectedNotifications:[],points:0,isGMEnabled:!1,lastVersionCheckTime:0},currentPlanetId:``,isDark:``,locale:`zh-CN`}),getters:{currentPlanet(){return this.player.planets.find(e=>e.id===this.currentPlanetId)},getMoonForPlanet(){return e=>this.player.planets.find(t=>t.parentPlanetId===e&&t.isMoon)}},persist:{key:V.name,storage:localStorage,serializer:{serialize:e=>vn(e),deserialize:e=>yn(e)}}}),xn=Ve(`universe`,{state:()=>({planets:{},debrisFields:{}}),persist:{key:`${V.name}-universe`,storage:localStorage,serializer:{serialize:e=>vn(e),deserialize:e=>yn(e)}}}),Sn=Ve(`npc`,{state:()=>({npcs:[],lastGrowthCheck:{}}),persist:{key:`${V.name}-npcs`,storage:localStorage,serializer:{serialize:e=>vn(e),deserialize:e=>yn(e)}}});var H=_(!1);const Cn=()=>{let e=bn();Fe(()=>{e.isDark?H.value=e.isDark===`dark`:(H.value=window.matchMedia(`(prefers-color-scheme: dark)`).matches,e.isDark=H.value?`dark`:`light`),t()}),te(H,()=>{t(),e.isDark=H.value?`dark`:`light`});let t=()=>{H.value?document.documentElement.classList.add(`dark`):document.documentElement.classList.remove(`dark`)};return{isDark:H,toggleTheme:()=>{H.value=!H.value}}},wn=()=>{let e=bn(),t=D(()=>e.locale),n=D(()=>Ye[t.value]);return{t:(e,t)=>{let r=e.split(`.`),i=n.value;for(let t of r)if(i&&typeof i==`object`&&t in i)i=i[t];else return e;let a=typeof i==`string`?i:e;return t&&Object.entries(t).forEach(([e,t])=>{a=a.replace(RegExp(`\\{${e}\\}`,`g`),String(t))}),a},locale:t,setLocale:t=>{e.locale=t},messages:n}},U=(...e)=>At(Ze(e));var W=k({__name:`Button`,props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(l(),y(j(ut),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:v(j(U)(j(Tn)({variant:e.variant,size:e.size}),t.class))},{default:g(()=>[w(n.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}});const Tn=tt(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});var En=k({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(r,i)=>(l(),y(j(ut),P({"data-slot":`badge`,class:j(U)(j(Dn)({variant:e.variant}),t.class)},j(n)),{default:g(()=>[w(r.$slots,`default`)]),_:3},16,[`class`]))}});const Dn=tt(`inline-flex items-center justify-center rounded-sm border h-5 min-w-5 px-1 text-xs font-medium tabular-nums select-none w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});var On=k({__name:`Progress`,props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(Ot),P({"data-slot":`progress`},j(n),{class:j(U)(`bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,t.class)}),{default:g(()=>[S(j(rt),{"data-slot":`progress-indicator`,class:`bg-primary h-full w-full flex-1 transition-all`,style:Me(`transform: translateX(-${100-(t.modelValue??0)}%);`)},null,8,[`style`])]),_:1},16,[`class`]))}}),kn=k({__name:`Popover`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=I(e,t);return(e,t)=>(l(),y(j(lt),P({"data-slot":`popover`},j(n)),{default:g(t=>[w(e.$slots,`default`,O(C(t)))]),_:3},16))}}),An=k({inheritAttrs:!1,__name:`PopoverContent`,props:{forceMount:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=I(F(n,`class`),r);return(e,t)=>(l(),y(j(st),null,{default:g(()=>[S(j(ct),P({"data-slot":`popover-content`},{...e.$attrs,...j(i)},{class:j(U)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md origin-(--reka-popover-content-transform-origin) outline-hidden`,n.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),jn=k({__name:`PopoverTrigger`,props:{asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(l(),y(j(xt),P({"data-slot":`popover-trigger`},t),{default:g(()=>[w(e.$slots,`default`)]),_:3},16))}}),Mn={key:0,class:`bg-destructive/10 border-b border-destructive/20`},Nn={class:`px-4 sm:px-6 py-2 space-y-2`},Pn={class:`flex items-center gap-2 flex-1 min-w-0`},Fn={class:`flex-1 min-w-0`},In={class:`text-sm font-semibold text-destructive truncate`},Ln={class:`text-xs text-muted-foreground truncate`},Rn={class:`flex items-center gap-2 flex-shrink-0`},zn={class:`text-right`},Bn={class:`text-xs font-mono text-destructive`},Vn={class:`text-[10px] text-muted-foreground`},Hn=k({__name:`IncomingFleetAlerts`,props:{alerts:{}},emits:[`markAsRead`],setup(e,{emit:t}){let n=t,{t:r}=wn(),i=_(Date.now()),a=null;Fe(()=>{a=setInterval(()=>{i.value=Date.now()},1e3)}),me(()=>{a&&clearInterval(a)});let o=e=>{let t=Math.max(0,e-i.value),n=Math.floor(t/1e3%60),r=Math.floor(t/(1e3*60)%60),a=Math.floor(t/(1e3*60*60));return a>0?`${a}:${String(r).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`:`${r}:${String(n).padStart(2,`0`)}`},s=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),c=e=>{n(`markAsRead`,e)};return(t,n)=>e.alerts.length>0?(l(),N(`div`,Mn,[M(`div`,Nn,[(l(!0),N(A,null,m(e.alerts,e=>(l(),N(`div`,{key:e.id,class:`flex items-center justify-between gap-3 bg-destructive/5 rounded-lg px-3 py-2 border border-destructive/20`},[M(`div`,Pn,[S(j(ln),{class:`h-5 w-5 text-destructive flex-shrink-0 animate-pulse`}),M(`div`,Fn,[M(`p`,In,[e.missionType===`spy`?(l(),N(A,{key:0},[x(b(j(r)(`alerts.npcSpyIncoming`)),1)],64)):e.missionType===`attack`?(l(),N(A,{key:1},[x(b(j(r)(`alerts.npcAttackIncoming`)),1)],64)):(l(),N(A,{key:2},[x(b(j(r)(`alerts.npcFleetIncoming`)),1)],64))]),M(`p`,Ln,[x(b(e.npcName)+` → `+b(e.targetPlanetName)+` `,1),e.missionType===`attack`?(l(),N(A,{key:0},[x(`(`+b(e.fleetSize)+` `+b(j(r)(`alerts.ships`))+`)`,1)],64)):T(``,!0)])])]),M(`div`,Rn,[M(`div`,zn,[M(`p`,Bn,b(o(e.arrivalTime)),1),M(`p`,Vn,b(s(e.arrivalTime)),1)]),S(j(W),{onClick:t=>c(e),variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`},{default:g(()=>[S(j(an),{class:`h-3 w-3`})]),_:1},8,[`onClick`])])]))),128))])])):T(``,!0)}}),Un=k({__name:`Sheet`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=I(e,t);return(e,t)=>(l(),y(j(_t),P({"data-slot":`sheet`},j(n)),{default:g(t=>[w(e.$slots,`default`,O(C(t)))]),_:3},16))}}),Wn=k({__name:`SheetOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(wt),P({"data-slot":`sheet-overlay`,class:j(U)(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`,t.class)},j(n)),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}}),Gn=k({inheritAttrs:!1,__name:`SheetContent`,props:{class:{},side:{default:`right`},forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=I(F(n,`class`,`side`),r);return(t,r)=>(l(),y(j(z),null,{default:g(()=>[S(Wn),S(j(gt),P({"data-slot":`sheet-content`,class:j(U)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,e.side===`right`&&`data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm`,e.side===`left`&&`data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm`,e.side===`top`&&`data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b`,e.side===`bottom`&&`data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t`,n.class)},{...t.$attrs,...j(i)}),{default:g(()=>[w(t.$slots,`default`),S(j(ht),{class:`ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none`},{default:g(()=>[S(j(an),{class:`size-4`}),r[0]||=M(`span`,{class:`sr-only`},`Close`,-1)]),_:1})]),_:3},16,[`class`])]),_:3}))}}),Kn=k({__name:`SheetDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(at),P({"data-slot":`sheet-description`,class:j(U)(`text-muted-foreground text-sm`,t.class)},j(n)),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}}),qn=k({__name:`SheetHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`sheet-header`,class:v(j(U)(`flex flex-col gap-1.5 p-4`,t.class))},[w(e.$slots,`default`)],2))}}),Jn=k({__name:`SheetTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(R),P({"data-slot":`sheet-title`,class:j(U)(`text-foreground font-semibold`,t.class)},j(n)),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}});const Yn=`sidebar_state`,[Xn,Zn]=Dt(`Sidebar`);var Qn={class:`flex h-full w-full flex-col`},$n=[`data-state`,`data-collapsible`,`data-variant`,`data-side`],er={"data-sidebar":`sidebar`,class:`bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm`},tr=k({inheritAttrs:!1,__name:`Sidebar`,props:{side:{default:`left`},variant:{default:`sidebar`},collapsible:{default:`offcanvas`},class:{}},setup(e){let t=e,{isMobile:n,state:r,openMobile:i,setOpenMobile:a}=Xn();return(o,s)=>e.collapsible===`none`?(l(),N(`div`,P({key:0,"data-slot":`sidebar`,class:j(U)(`bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col`,t.class)},o.$attrs),[w(o.$slots,`default`)],16)):j(n)?(l(),y(j(Un),P({key:1,open:j(i)},o.$attrs,{"onUpdate:open":j(a)}),{default:g(()=>[S(j(Gn),{"data-sidebar":`sidebar`,"data-slot":`sidebar`,"data-mobile":`true`,side:e.side,class:`bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden`,style:Me({"--sidebar-width":j(`18rem`)})},{default:g(()=>[S(qn,{class:`sr-only`},{default:g(()=>[S(Jn,null,{default:g(()=>[...s[0]||=[x(`Sidebar`,-1)]]),_:1}),S(Kn,null,{default:g(()=>[...s[1]||=[x(`Displays the mobile sidebar.`,-1)]]),_:1})]),_:1}),M(`div`,Qn,[w(o.$slots,`default`)])]),_:3},8,[`side`,`style`])]),_:3},16,[`open`,`onUpdate:open`])):(l(),N(`div`,{key:2,class:`group peer text-sidebar-foreground hidden md:block`,"data-slot":`sidebar`,"data-state":j(r),"data-collapsible":j(r)===`collapsed`?e.collapsible:``,"data-variant":e.variant,"data-side":e.side},[M(`div`,{class:v(j(U)(`relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,e.variant===`floating`||e.variant===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon)`))},null,2),M(`div`,P({class:j(U)(`fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex`,e.side===`left`?`left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]`:`right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]`,e.variant===`floating`||e.variant===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]`:`group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l`,t.class)},o.$attrs),[M(`div`,er,[w(o.$slots,`default`)])],16)],8,$n))}}),nr=k({__name:`SidebarContent`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`sidebar-content`,"data-sidebar":`content`,class:v(j(U)(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,t.class))},[w(e.$slots,`default`)],2))}}),rr=k({__name:`SidebarFooter`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`sidebar-footer`,"data-sidebar":`footer`,class:v(j(U)(`flex flex-col gap-2 p-2`,t.class))},[w(e.$slots,`default`)],2))}}),ir=k({__name:`SidebarGroup`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`sidebar-group`,"data-sidebar":`group`,class:v(j(U)(`relative flex w-full min-w-0 flex-col p-2`,t.class))},[w(e.$slots,`default`)],2))}}),ar=k({__name:`SidebarHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`sidebar-header`,"data-sidebar":`header`,class:v(j(U)(`flex flex-col gap-2 p-2`,t.class))},[w(e.$slots,`default`)],2))}}),or=k({__name:`Input`,props:{defaultValue:{},modelValue:{},class:{}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=jt(n,`modelValue`,t,{passive:!0,defaultValue:n.defaultValue});return(e,t)=>Re((l(),N(`input`,{"onUpdate:modelValue":t[0]||=e=>ve(r)?r.value=e:null,"data-slot":`input`,class:v(j(U)(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,n.class))},null,2)),[[h,j(r)]])}}),sr=k({__name:`SidebarInset`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`main`,{"data-slot":`sidebar-inset`,class:v(j(U)(`bg-background relative flex w-full flex-1 flex-col`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2`,t.class))},[w(e.$slots,`default`)],2))}}),cr=k({__name:`SidebarMenu`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`ul`,{"data-slot":`sidebar-menu`,"data-sidebar":`menu`,class:v(j(U)(`flex w-full min-w-0 flex-col gap-1`,t.class))},[w(e.$slots,`default`)],2))}}),lr=k({__name:`SidebarMenuBadge`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`sidebar-menu-badge`,"data-sidebar":`menu-badge`,class:v(j(U)(`text-sidebar-foreground pointer-events-none flex h-5 min-w-5 items-center justify-center rounded-sm px-1 text-xs font-medium tabular-nums select-none`,`peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`absolute right-1`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:absolute group-data-[collapsible=icon]:right-0 group-data-[collapsible=icon]:-top-1 group-data-[collapsible=icon]:h-4 group-data-[collapsible=icon]:min-w-4`,t.class))},[w(e.$slots,`default`)],2))}}),ur=k({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=I(e,t);return(e,t)=>(l(),y(j(bt),P({"data-slot":`tooltip`},j(n)),{default:g(t=>[w(e.$slots,`default`,O(C(t)))]),_:3},16))}}),dr=k({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=I(F(n,`class`),r);return(e,t)=>(l(),y(j(St),null,{default:g(()=>[S(j(Tt),P({"data-slot":`tooltip-content`},{...j(i),...e.$attrs},{class:j(U)(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance`,n.class)}),{default:g(()=>[w(e.$slots,`default`),S(j(Ct),{class:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]),_:3},16,[`class`])]),_:3}))}}),fr=k({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(l(),y(j(Et),P({"data-slot":`tooltip-trigger`},t),{default:g(()=>[w(e.$slots,`default`)]),_:3},16))}}),pr=k({__name:`SidebarMenuButtonChild`,props:{variant:{default:`default`},size:{default:`default`},isActive:{type:Boolean},class:{},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,r)=>(l(),y(j(ut),P({"data-slot":`sidebar-menu-button`,"data-sidebar":`menu-button`,"data-size":e.size,"data-active":e.isActive,class:j(U)(j(vr)({variant:e.variant,size:e.size}),t.class),as:e.as,"as-child":e.asChild},n.$attrs),{default:g(()=>[w(n.$slots,`default`)]),_:3},16,[`data-size`,`data-active`,`class`,`as`,`as-child`]))}}),mr=k({inheritAttrs:!1,__name:`SidebarMenuButton`,props:{variant:{default:`default`},size:{default:`default`},isActive:{type:Boolean},class:{},asChild:{type:Boolean},as:{default:`button`},tooltip:{}},setup(e){let t=e,{isMobile:r,state:i}=Xn(),a=F(t,`tooltip`);return(t,o)=>e.tooltip?(l(),y(j(ur),{key:1},{default:g(()=>[S(j(fr),{"as-child":``},{default:g(()=>[S(pr,O(C({...j(a),...t.$attrs})),{default:g(()=>[w(t.$slots,`default`)]),_:3},16)]),_:3}),S(j(dr),{side:`right`,align:`center`,hidden:j(i)!==`collapsed`||j(r)},{default:g(()=>[typeof e.tooltip==`string`?(l(),N(A,{key:0},[x(b(e.tooltip),1)],64)):(l(),y(n(e.tooltip),{key:1}))]),_:1},8,[`hidden`])]),_:3})):(l(),y(pr,O(P({key:0},{...j(a),...t.$attrs})),{default:g(()=>[w(t.$slots,`default`)]),_:3},16))}}),hr=k({__name:`SidebarMenuItem`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`li`,{"data-slot":`sidebar-menu-item`,"data-sidebar":`menu-item`,class:v(j(U)(`group/menu-item relative`,t.class))},[w(e.$slots,`default`)],2))}}),gr=k({__name:`SidebarProvider`,props:{defaultOpen:{type:Boolean,default:!Pt?.cookie.includes(`${Yn}=false`)},open:{type:Boolean,default:void 0},class:{}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,i=Nt(`(max-width: 768px)`),a=_(!1),o=jt(n,`open`,r,{defaultValue:n.defaultOpen??!1,passive:n.open===void 0}),s=e=>{o.value=e,document.cookie=`${Yn}=${o.value}; path=/; max-age=604800`},c=e=>{a.value=e},u=()=>i.value?c(!a.value):s(!o.value);return Mt(`keydown`,e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),u())}),Zn({state:D(()=>o.value?`expanded`:`collapsed`),open:o,setOpen:s,isMobile:i,openMobile:a,setOpenMobile:c,toggleSidebar:u}),(e,t)=>(l(),y(j(vt),{"delay-duration":0},{default:g(()=>[M(`div`,P({"data-slot":`sidebar-wrapper`,style:{"--sidebar-width":j(`16rem`),"--sidebar-width-icon":j(`3rem`)},class:j(U)(`group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full`,n.class)},e.$attrs),[w(e.$slots,`default`)],16)]),_:3}))}}),_r=k({__name:`SidebarTrigger`,props:{class:{}},setup(e){let t=e,{toggleSidebar:n}=Xn();return(e,r)=>(l(),y(j(W),{"data-sidebar":`trigger`,"data-slot":`sidebar-trigger`,variant:`ghost`,size:`icon`,class:v(j(U)(`h-7 w-7`,t.class)),onClick:j(n)},{default:g(()=>[S(j(It)),r[0]||=M(`span`,{class:`sr-only`},`Toggle Sidebar`,-1)]),_:1},8,[`class`,`onClick`]))}});const vr=tt(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8 text-sm`,sm:`h-7 text-xs`,lg:`h-12 text-sm group-data-[collapsible=icon]:p-0!`}},defaultVariants:{variant:`default`,size:`default`}});var yr=k({__name:`ResourceIcon`,props:{type:{},size:{default:`md`}},setup(e){let t={metal:`bg-gradient-to-br from-slate-400 to-slate-600`,crystal:`bg-gradient-to-br from-cyan-400 to-blue-600`,deuterium:`bg-gradient-to-br from-green-400 to-emerald-600`,darkMatter:`bg-gradient-to-br from-purple-600 to-indigo-900`,energy:`bg-gradient-to-br from-yellow-400 to-orange-500`},n={sm:`w-3 h-3`,md:`w-4 h-4`,lg:`w-5 h-5`};return(r,i)=>(l(),N(`div`,{class:v([t[e.type],n[e.size],`rounded shadow-sm`])},null,2))}}),br=k({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=I(e,t);return(e,t)=>(l(),y(j(dt),P({"data-slot":`alert-dialog`},j(n)),{default:g(t=>[w(e.$slots,`default`,O(C(t)))]),_:3},16))}}),xr=k({__name:`AlertDialogAction`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(mt),P(j(n),{class:j(U)(j(Tn)(),t.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}}),Sr=k({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(it),P(j(n),{class:j(U)(j(Tn)({variant:`outline`}),`mt-2 sm:mt-0`,t.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}}),Cr=k({inheritAttrs:!1,__name:`AlertDialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=I(F(n,`class`),r);return(e,t)=>(l(),y(j(kt),null,{default:g(()=>[S(j(L),{"data-slot":`alert-dialog-overlay`,class:`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`}),S(j(ft),P({"data-slot":`alert-dialog-content`},{...e.$attrs,...j(i)},{class:j(U)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,n.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`])]),_:3}))}}),wr=k({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(pt),P({"data-slot":`alert-dialog-description`},j(n),{class:j(U)(`text-muted-foreground text-sm`,t.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}}),Tr=k({__name:`AlertDialogFooter`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`alert-dialog-footer`,class:v(j(U)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,t.class))},[w(e.$slots,`default`)],2))}}),Er=k({__name:`AlertDialogHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`alert-dialog-header`,class:v(j(U)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[w(e.$slots,`default`)],2))}}),Dr=k({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(ot),P({"data-slot":`alert-dialog-title`},j(n),{class:j(U)(`text-lg font-semibold`,t.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}}),Or=k({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=I(e,t);return(e,t)=>(l(),y(j(_t),P({"data-slot":`dialog`},j(n)),{default:g(t=>[w(e.$slots,`default`,O(C(t)))]),_:3},16))}}),kr=k({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(wt),P({"data-slot":`dialog-overlay`},j(n),{class:j(U)(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80`,t.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}}),Ar=k({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=yt(F(t,`class`));return(e,r)=>(l(),y(j(at),P({"data-slot":`dialog-description`},j(n),{class:j(U)(`text-muted-foreground text-sm`,t.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}}),jr=k({__name:`DialogFooter`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`dialog-footer`,class:v(j(U)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,t.class))},[w(e.$slots,`default`)],2))}}),Mr=k({__name:`DialogHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`dialog-header`,class:v(j(U)(`flex flex-col gap-2 text-center sm:text-left`,t.class))},[w(e.$slots,`default`)],2))}}),Nr=k({inheritAttrs:!1,__name:`DialogScrollContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=I(F(n,`class`),r);return(e,t)=>(l(),y(j(z),null,{default:g(()=>[S(j(wt),{class:`fixed inset-0 z-50 grid place-items-center overflow-y-auto bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`},{default:g(()=>[S(j(gt),P({class:j(U)(`relative z-50 grid w-full max-w-lg my-8 gap-4 border border-border bg-background p-6 shadow-lg duration-200 sm:rounded-lg md:w-full`,n.class)},{...e.$attrs,...j(i)},{onPointerDownOutside:t[0]||=e=>{let t=e.detail.originalEvent,n=t.target;(t.offsetX>n.clientWidth||t.offsetY>n.clientHeight)&&e.preventDefault()}}),{default:g(()=>[w(e.$slots,`default`),S(j(ht),{class:`absolute top-4 right-4 p-0.5 transition-colors rounded-md hover:bg-secondary`},{default:g(()=>[S(j(an),{class:`w-4 h-4`}),t[1]||=M(`span`,{class:`sr-only`},`Close`,-1)]),_:1})]),_:3},16,[`class`])]),_:3})]),_:3}))}}),Pr={class:`shrink-0 px-4 pt-4 pb-3 sm:px-6 sm:pt-6 sm:pb-4 border-b`},Fr={class:`overflow-y-auto px-4 py-3 sm:px-6 sm:py-4`},Ir={key:0,class:`shrink-0 px-4 pb-4 pt-3 sm:px-6 sm:pb-6 sm:pt-4 border-t`},Lr=k({inheritAttrs:!1,__name:`ScrollableDialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},containerClass:{},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=I(F(n,`containerClass`),r);return(t,n)=>(l(),y(j(z),null,{default:g(()=>[S(kr),S(j(gt),P({"data-slot":`scrollable-dialog-content`},{...t.$attrs,...j(i)},{class:j(U)(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 w-[calc(100vw-3rem)] translate-x-[-50%] translate-y-[-50%] rounded-lg border shadow-lg duration-200 sm:w-auto sm:min-w-[764px] flex flex-col p-0`,e.containerClass)}),{default:g(()=>[M(`div`,Pr,[w(t.$slots,`header`)]),M(`div`,Fr,[w(t.$slots,`default`)]),t.$slots.footer?(l(),N(`div`,Ir,[w(t.$slots,`footer`)])):T(``,!0),e.showCloseButton?(l(),y(j(ht),{key:1,"data-slot":`dialog-close`,class:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 z-10`},{default:g(()=>[S(j(an)),n[0]||=M(`span`,{class:`sr-only`},`Close`,-1)]),_:1})):T(``,!0)]),_:3},16,[`class`])]),_:3}))}}),Rr=k({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=yt(F(t,`class`));return(e,r)=>(l(),y(j(R),P({"data-slot":`dialog-title`},j(n),{class:j(U)(`text-lg leading-none font-semibold`,t.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}});const zr=Ve(`detailDialog`,{state:()=>({isOpen:!1,type:null,itemType:null,currentLevel:void 0}),actions:{openBuilding(e,t){this.isOpen=!0,this.type=`building`,this.itemType=e,this.currentLevel=t},openTechnology(e,t){this.isOpen=!0,this.type=`technology`,this.itemType=e,this.currentLevel=t},openShip(e){this.isOpen=!0,this.type=`ship`,this.itemType=e,this.currentLevel=void 0},openDefense(e){this.isOpen=!0,this.type=`defense`,this.itemType=e,this.currentLevel=void 0},close(){this.isOpen=!1,this.type=null,this.itemType=null,this.currentLevel=void 0}}});var Br={"data-slot":`table-container`,class:`relative w-full overflow-auto`},Vr=k({__name:`Table`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,Br,[M(`table`,{"data-slot":`table`,class:v(j(U)(`w-full caption-bottom text-sm`,t.class))},[w(e.$slots,`default`)],2)]))}}),Hr=k({__name:`TableBody`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`tbody`,{"data-slot":`table-body`,class:v(j(U)(`[&_tr:last-child]:border-0`,t.class))},[w(e.$slots,`default`)],2))}}),G=k({__name:`TableCell`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`td`,{"data-slot":`table-cell`,class:v(j(U)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[w(e.$slots,`default`)],2))}}),Ur=k({__name:`TableRow`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`tr`,{"data-slot":`table-row`,class:v(j(U)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,t.class))},[w(e.$slots,`default`)],2))}}),K=k({__name:`TableHead`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`th`,{"data-slot":`table-head`,class:v(j(U)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,t.class))},[w(e.$slots,`default`)],2))}}),Wr=k({__name:`TableHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`thead`,{"data-slot":`table-header`,class:v(j(U)(`[&_tr]:border-b`,t.class))},[w(e.$slots,`default`)],2))}}),q=k({__name:`Card`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`card`,class:v(j(U)(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,t.class))},[w(e.$slots,`default`)],2))}}),J=k({__name:`CardContent`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`card-content`,class:v(j(U)(`px-6`,t.class))},[w(e.$slots,`default`)],2))}}),Y=k({__name:`CardHeader`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`div`,{"data-slot":`card-header`,class:v(j(U)(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,t.class))},[w(e.$slots,`default`)],2))}}),X=k({__name:`CardTitle`,props:{class:{}},setup(e){let t=e;return(e,n)=>(l(),N(`h3`,{"data-slot":`card-title`,class:v(j(U)(`leading-none font-semibold`,t.class))},[w(e.$slots,`default`)],2))}}),Gr=k({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(e){let t=e,n=F(t,`class`);return(e,r)=>(l(),y(j(nt),P({"data-slot":`label`},j(n),{class:j(U)(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,t.class)}),{default:g(()=>[w(e.$slots,`default`)]),_:3},16,[`class`]))}});const Z=(e,t=2)=>e>=0x38d7ea4c68000?(e/0x38d7ea4c68000).toFixed(t)+`Q`:e>=0xe8d4a51000?(e/0xe8d4a51000).toFixed(t)+`T`:e>=1e9?(e/1e9).toFixed(t)+`B`:e>=1e6?(e/1e6).toFixed(t)+`M`:e>=1e3?(e/1e3).toFixed(t)+`K`:Math.floor(e).toString(),Kr=(e,t)=>{let n=e/t;return n>=1?`text-red-600 dark:text-red-400`:n>=.7?`text-yellow-600 dark:text-yellow-400`:``},qr=e=>{let t=365*86400,n=Math.floor(e/t);e%=t;let r=Math.floor(e/86400);e%=86400;let i=Math.floor(e/3600);e%=3600;let a=Math.floor(e/60),o=Math.floor(e%60),s=i.toString().padStart(2,`0`),c=a.toString().padStart(2,`0`),l=o.toString().padStart(2,`0`);return n>0?`${n}:${r}:${s}:${c}:${l}`:r>0?`${r}:${s}:${c}:${l}`:`${s}:${c}:${l}`},Jr=e=>new Date(e).toLocaleString(`zh-CN`,{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`}),Yr=(e,t)=>et.value.toLocaleString());return(t,r)=>(l(),y(j(kn),null,{default:g(()=>[S(j(jn),{"as-child":``},{default:g(()=>[M(`span`,Xr,b(j(Z)(e.value,1)),1)]),_:1}),S(j(An),{class:`w-auto p-2`,side:`top`,align:`center`},{default:g(()=>[M(`p`,Zr,b(n.value),1)]),_:1})]),_:1}))}}),Qr={class:`space-y-4`},$r={key:0,class:`border rounded-lg overflow-hidden`},ei={key:1},ti={key:0,class:`text-green-600 dark:text-green-400`},ni={key:1},ri={key:0,class:`text-red-600 dark:text-red-400`},ii={key:1},ai={key:0,class:`text-blue-600 dark:text-blue-400`},oi={key:1},si={key:0,class:`text-blue-600 dark:text-blue-400`},ci={key:1},li={key:0,class:`text-green-600 dark:text-green-400`},ui={key:1},di={key:0,class:`text-cyan-600 dark:text-cyan-400`},fi={key:1,class:`text-cyan-600 dark:text-cyan-400`},pi={class:`text-indigo-600 dark:text-indigo-400`},mi={class:`text-red-600 dark:text-red-400`},hi={class:`text-blue-600 dark:text-blue-400`},gi={class:`text-gray-600 dark:text-gray-400`},_i={class:`text-purple-600 dark:text-purple-400`},vi={class:`text-blue-600 dark:text-blue-400`},yi={class:`text-green-600 dark:text-green-400`},bi={class:`text-yellow-600 dark:text-yellow-400`},xi={class:`text-indigo-600 dark:text-indigo-400`},Si={class:`text-primary font-medium`},Ci={key:1,class:`grid grid-cols-2 gap-4`},wi={class:`flex items-center justify-between text-sm`},Ti={class:`text-muted-foreground`},Ei={class:`font-medium`},Di={class:`flex items-center justify-between text-sm`},Oi={class:`text-muted-foreground`},ki={class:`font-medium`},Ai={class:`flex items-center justify-between text-sm`},ji={class:`text-muted-foreground`},Mi={class:`font-medium`},Ni={class:`text-3xl font-bold text-primary`},Pi={class:`text-xs text-muted-foreground mt-1`},Fi={key:2,class:`grid grid-cols-2 md:grid-cols-3 gap-4`},Ii={class:`text-2xl font-bold`},Li={class:`text-2xl font-bold`},Ri={class:`text-2xl font-bold`},zi={class:`text-2xl font-bold`},Bi={class:`text-2xl font-bold`},Vi={class:`text-2xl font-bold`},Hi={key:3,class:`grid grid-cols-1 md:grid-cols-2 gap-4`},Ui={class:`text-muted-foreground`},Wi={class:`font-medium`},Gi={class:`flex items-center justify-between text-sm pt-2 border-t`},Ki={class:`text-muted-foreground`},qi={class:`font-bold text-primary`},Ji={class:`text-3xl font-bold`},Yi={class:`text-xs text-muted-foreground mt-2`},Xi={class:`flex items-center gap-4`},Zi={class:`grid grid-cols-2 gap-4 pt-4 border-t`},Qi={class:`space-y-2`},$i={class:`text-sm text-muted-foreground`},ea={class:`space-y-1 text-sm`},ta={class:`flex justify-between`},na={class:`font-medium`},ra={class:`flex justify-between`},ia={class:`font-medium`},aa={class:`flex justify-between`},oa={class:`font-medium`},sa={class:`space-y-2`},ca={class:`text-sm text-muted-foreground`},la={class:`text-xl font-bold`},ua={class:`text-xs text-muted-foreground`},da=k({__name:`ItemDetailView`,props:{type:{},itemType:{},currentLevel:{}},setup(e){let{t:n}=wn(),i=bn(),a=e,o=_(1),s=[{key:`metal`},{key:`crystal`},{key:`deuterium`}],c=D(()=>i.currentPlanet),u=D(()=>ue(i.player.officers,i.gameTime)),ee=D(()=>c.value&&c.value.buildings.roboticsFactory||0),te=D(()=>c.value&&c.value.buildings.naniteFactory||0),ne=D(()=>c.value&&c.value.buildings.researchLab||0),f=D(()=>({building:`buildings`,technology:`research`,ship:`shipyard`,defense:`defense`})[a.type]),ie=D(()=>a.type===`building`?a.itemType===`darkMatterCollector`:a.type===`technology`?a.itemType===`gravitonTechnology`:!1),ae=D(()=>{if(a.type!==`building`)return!1;let e=a.itemType;return[`metalMine`,`crystalMine`,`deuteriumSynthesizer`,`solarPlant`,`fusionReactor`,`darkMatterCollector`].includes(e)}),oe=D(()=>{if(a.type!==`building`)return!1;let e=a.itemType;return[`metalMine`,`crystalMine`,`deuteriumSynthesizer`].includes(e)}),ce=D(()=>{if(a.type!==`building`)return!1;let e=a.itemType;return[`metalStorage`,`crystalStorage`,`deuteriumTank`,`darkMatterCollector`,`darkMatterTank`].includes(e)}),le=D(()=>a.type===`building`?a.itemType===`shipyard`:a.type===`technology`?a.itemType===`computerTechnology`:!1),de=D(()=>a.type===`building`?a.itemType===`naniteFactory`:!1),h=D(()=>{if(a.type===`building`){let e=a.itemType;return[`terraformer`,`lunarBase`].includes(e)}else if(a.type===`technology`)return a.itemType===`terraformingTechnology`;return!1}),fe=D(()=>a.type===`building`?a.itemType===`missileSilo`:!1),pe=D(()=>{if(a.type!==`building`)return!1;let e=a.itemType;return[`roboticsFactory`,`naniteFactory`].includes(e)}),me=D(()=>a.type===`building`?a.itemType===`researchLab`:a.type===`technology`?a.itemType===`energyTechnology`:!1),he=D(()=>a.type===`technology`?a.itemType===`weaponsTechnology`:!1),ge=D(()=>a.type===`technology`?a.itemType===`shieldingTechnology`:!1),ve=D(()=>a.type===`technology`?a.itemType===`armourTechnology`:!1),be=D(()=>a.type===`technology`?a.itemType===`espionageTechnology`:!1),xe=D(()=>a.type===`technology`?a.itemType===`computerTechnology`:!1),Se=D(()=>a.type===`technology`?a.itemType===`astrophysics`:!1),Ce=D(()=>{if(a.type!==`technology`)return!1;let e=a.itemType;return[`combustionDrive`,`impulseDrive`,`hyperspaceDrive`].includes(e)}),we=D(()=>a.currentLevel??0),Te=D(()=>a.type===`ship`?hn[a.itemType]:a.type===`defense`?gn[a.itemType]:null),Ee=D(()=>a.type===`ship`?hn[a.itemType]:null),C=D(()=>a.type===`ship`?hn[a.itemType].cost:a.type===`defense`?gn[a.itemType].cost:{metal:0,crystal:0,deuterium:0}),De=D(()=>a.type===`ship`?se(a.itemType,1,u.value.buildingSpeedBonus,ee.value,te.value):a.type===`defense`?Oe(a.itemType,1,u.value.buildingSpeedBonus,ee.value,te.value):0),w=D(()=>{if(a.type!==`building`&&a.type!==`technology`)return[];let e=a.currentLevel||0,t=[];for(let n=e;n<=e+10;n++)t.push(n);return t}),E=e=>{if(e===0)return{cost:{metal:0,crystal:0,deuterium:0,darkMatter:0},time:0,production:0,consumption:0,points:0,capacity:0,fleetStorage:0,spaceBonus:0,buildSpeedBonus:0,researchSpeedBonus:0};if(a.type===`building`){let t=a.itemType,n=ze(t,e),i=r(t,e,u.value.buildingSpeedBonus,ee.value,te.value),o=0,s=0,c=0,l=0,d=0,ne=0,re=0,f=1+(u.value.resourceProductionBonus||0)/100,p=1+(u.value.energyProductionBonus||0)/100,ie=1+(u.value.storageCapacityBonus||0)/100;t===`metalMine`?(o=Math.floor(1500*e*1.5**e*f),s=Math.floor(10*e*1.1**e)):t===`crystalMine`?(o=Math.floor(1e3*e*1.5**e*f),s=Math.floor(10*e*1.1**e)):t===`deuteriumSynthesizer`?(o=Math.floor(500*e*1.5**e*f),s=Math.floor(10*e*1.1**e)):t===`solarPlant`?o=Math.floor(50*e*1.1**e*p):t===`metalStorage`||t===`crystalStorage`||t===`deuteriumTank`?c=Math.floor(1e4*2**e*ie):t===`darkMatterCollector`?(c=1e3+e*100,o=Math.floor(25*e*1.5**e)):t===`darkMatterTank`?c=Math.floor(1e3*2**e*ie):t===`fusionReactor`?o=Math.floor(150*e*1.15**e):t===`shipyard`?l=1e3*e:t===`terraformer`||t===`lunarBase`?d=30:t===`roboticsFactory`?ne=e:t===`naniteFactory`?ne=e*2:t===`researchLab`&&(re=e);let ae=_e(t,e-1,e);return{cost:n,time:i,production:o,consumption:s,points:ae,capacity:c,fleetStorage:l,spaceBonus:d,buildSpeedBonus:ne,researchSpeedBonus:re}}else{let t=a.itemType,n=je(t,e),r=re(t,e-1,u.value.researchSpeedBonus,ne.value),i=0;return t===`energyTechnology`&&(i=e),{cost:n,time:r,production:0,consumption:0,points:p(t,e-1,e),capacity:0,fleetStorage:0,spaceBonus:0,buildSpeedBonus:0,researchSpeedBonus:i}}},ke=D(()=>{if(a.type!==`building`&&a.type!==`technology`)return{metal:0,crystal:0,deuterium:0,points:0};let e=0,t=0,n=0,r=0;for(let i of w.value){if(i===0)continue;let a=E(i);e+=a.cost.metal,t+=a.cost.crystal,n+=a.cost.deuterium,r+=a.points}return{metal:e,crystal:t,deuterium:n,points:r}}),O=D(()=>a.type===`ship`?d(a.itemType,1):a.type===`defense`?ye(a.itemType,1):0),k=D(()=>({metal:C.value.metal*o.value,crystal:C.value.crystal*o.value,deuterium:C.value.deuterium*o.value})),Ae=D(()=>a.type===`ship`?d(a.itemType,o.value):a.type===`defense`?ye(a.itemType,o.value):0);return(r,i)=>(l(),N(`div`,Qr,[e.type===`building`||e.type===`technology`?(l(),N(`div`,$r,[S(j(Vr),null,{default:g(()=>[S(j(Wr),null,{default:g(()=>[S(j(Ur),null,{default:g(()=>[S(j(K),{class:`w-20 text-center`},{default:g(()=>[x(b(j(n)(`${f.value}.levelRange`)),1)]),_:1}),S(j(K),{class:`text-center`},{default:g(()=>[x(b(j(n)(`resources.metal`)),1)]),_:1}),S(j(K),{class:`text-center`},{default:g(()=>[x(b(j(n)(`resources.crystal`)),1)]),_:1}),S(j(K),{class:`text-center`},{default:g(()=>[x(b(j(n)(`resources.deuterium`)),1)]),_:1}),ie.value?(l(),y(j(K),{key:0,class:`text-center`},{default:g(()=>[x(b(j(n)(`resources.darkMatter`)),1)]),_:1})):T(``,!0),S(j(K),{class:`text-center`},{default:g(()=>[x(b(e.type===`building`?j(n)(`buildings.buildTime`):j(n)(`research.researchTime`)),1)]),_:1}),e.type===`building`&&ae.value?(l(),y(j(K),{key:1,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.production`)),1)]),_:1})):T(``,!0),e.type===`building`&&oe.value?(l(),y(j(K),{key:2,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.consumption`)),1)]),_:1})):T(``,!0),e.type===`building`&&ce.value?(l(),y(j(K),{key:3,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.storageCapacity`)),1)]),_:1})):T(``,!0),e.type===`building`&&le.value?(l(),y(j(K),{key:4,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.fleetStorage`)),1)]),_:1})):T(``,!0),e.type===`building`&&de.value?(l(),y(j(K),{key:5,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.buildQueueBonus`)),1)]),_:1})):T(``,!0),e.type===`building`&&h.value?(l(),y(j(K),{key:6,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.spaceBonus`)),1)]),_:1})):T(``,!0),e.type===`building`&&fe.value?(l(),y(j(K),{key:7,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.missileCapacity`)),1)]),_:1})):T(``,!0),e.type===`building`&&pe.value?(l(),y(j(K),{key:8,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.buildSpeedBonus`)),1)]),_:1})):T(``,!0),e.type===`building`&&me.value?(l(),y(j(K),{key:9,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.researchSpeedBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&he.value?(l(),y(j(K),{key:10,class:`text-center`},{default:g(()=>[x(b(j(n)(`research.attackBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&ge.value?(l(),y(j(K),{key:11,class:`text-center`},{default:g(()=>[x(b(j(n)(`research.shieldBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&ve.value?(l(),y(j(K),{key:12,class:`text-center`},{default:g(()=>[x(b(j(n)(`research.armorBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&be.value?(l(),y(j(K),{key:13,class:`text-center`},{default:g(()=>[x(b(j(n)(`research.spyLevel`)),1)]),_:1})):T(``,!0),e.type===`technology`&&le.value?(l(),y(j(K),{key:14,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.fleetStorage`)),1)]),_:1})):T(``,!0),e.type===`technology`&&xe.value?(l(),y(j(K),{key:15,class:`text-center`},{default:g(()=>[x(b(j(n)(`research.researchQueueBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&Se.value?(l(),y(j(K),{key:16,class:`text-center`},{default:g(()=>[x(b(j(n)(`research.colonySlots`)),1)]),_:1})):T(``,!0),e.type===`technology`&&h.value?(l(),y(j(K),{key:17,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.spaceBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&Ce.value?(l(),y(j(K),{key:18,class:`text-center`},{default:g(()=>[x(b(j(n)(`research.speedBonus`)),1)]),_:1})):T(``,!0),e.type===`technology`&&me.value?(l(),y(j(K),{key:19,class:`text-center`},{default:g(()=>[x(b(j(n)(`buildings.researchSpeedBonus`)),1)]),_:1})):T(``,!0),S(j(K),{class:`text-center`},{default:g(()=>[x(b(j(n)(`player.points`)),1)]),_:1})]),_:1})]),_:1}),S(j(Hr),null,{default:g(()=>[(l(!0),N(A,null,m(w.value,t=>(l(),y(j(Ur),{key:t,class:v({"bg-muted/50":t===we.value})},{default:g(()=>[S(j(G),{class:`text-center font-medium`},{default:g(()=>[t===we.value?(l(),y(j(En),{key:0,variant:`default`},{default:g(()=>[x(b(t),1)]),_:2},1024)):(l(),N(`span`,ei,b(t),1))]),_:2},1024),S(j(G),{class:`text-center text-sm`},{default:g(()=>[S(Q,{value:E(t).cost.metal},null,8,[`value`])]),_:2},1024),S(j(G),{class:`text-center text-sm`},{default:g(()=>[S(Q,{value:E(t).cost.crystal},null,8,[`value`])]),_:2},1024),S(j(G),{class:`text-center text-sm`},{default:g(()=>[S(Q,{value:E(t).cost.deuterium},null,8,[`value`])]),_:2},1024),ie.value?(l(),y(j(G),{key:0,class:`text-center text-sm`},{default:g(()=>[S(Q,{value:E(t).cost.darkMatter},null,8,[`value`])]),_:2},1024)):T(``,!0),S(j(G),{class:`text-center text-sm`},{default:g(()=>[x(b(j(qr)(E(t).time)),1)]),_:2},1024),e.type===`building`&&ae.value?(l(),y(j(G),{key:1,class:`text-center text-sm`},{default:g(()=>[E(t).production>0?(l(),N(`span`,ti,[i[1]||=x(` + `,-1),S(Q,{value:E(t).production},null,8,[`value`]),x(` /`+b(j(n)(`resources.perHour`)),1)])):(l(),N(`span`,ni,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&oe.value?(l(),y(j(G),{key:2,class:`text-center text-sm`},{default:g(()=>[E(t).consumption>0?(l(),N(`span`,ri,[i[2]||=x(` - `,-1),S(Q,{value:E(t).consumption},null,8,[`value`])])):(l(),N(`span`,ii,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&ce.value?(l(),y(j(G),{key:3,class:`text-center text-sm`},{default:g(()=>[E(t).capacity>0?(l(),N(`span`,ai,[S(Q,{value:E(t).capacity},null,8,[`value`])])):(l(),N(`span`,oi,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&le.value?(l(),y(j(G),{key:4,class:`text-center text-sm`},{default:g(()=>[E(t).fleetStorage>0?(l(),N(`span`,si,[i[3]||=x(` + `,-1),S(Q,{value:E(t).fleetStorage},null,8,[`value`])])):(l(),N(`span`,ci,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&de.value?(l(),y(j(G),{key:5,class:`text-center text-sm`},{default:g(()=>[...i[4]||=[M(`span`,{class:`text-purple-600 dark:text-purple-400`},`+1`,-1)]]),_:1})):T(``,!0),e.type===`building`&&h.value?(l(),y(j(G),{key:6,class:`text-center text-sm`},{default:g(()=>[E(t).spaceBonus>0?(l(),N(`span`,li,[i[5]||=x(` + `,-1),S(Q,{value:E(t).spaceBonus},null,8,[`value`])])):(l(),N(`span`,ui,`-`))]),_:2},1024)):T(``,!0),e.type===`building`&&fe.value?(l(),y(j(G),{key:7,class:`text-center text-sm`},{default:g(()=>[...i[6]||=[M(`span`,{class:`text-orange-600 dark:text-orange-400`},`+10`,-1)]]),_:1})):T(``,!0),e.type===`building`&&pe.value?(l(),y(j(G),{key:8,class:`text-center text-sm`},{default:g(()=>[e.itemType===`roboticsFactory`?(l(),N(`span`,di,` +`+b(E(t).buildSpeedBonus*100)+`% `,1)):e.itemType===`naniteFactory`?(l(),N(`span`,fi,` +`+b(E(t).buildSpeedBonus*100)+`% `,1)):T(``,!0)]),_:2},1024)):T(``,!0),e.type===`building`&&me.value?(l(),y(j(G),{key:9,class:`text-center text-sm`},{default:g(()=>[M(`span`,pi,`+`+b((E(t).researchSpeedBonus-1)*100)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&he.value?(l(),y(j(G),{key:10,class:`text-center text-sm`},{default:g(()=>[M(`span`,mi,`+`+b(t*10)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&ge.value?(l(),y(j(G),{key:11,class:`text-center text-sm`},{default:g(()=>[M(`span`,hi,`+`+b(t*10)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&ve.value?(l(),y(j(G),{key:12,class:`text-center text-sm`},{default:g(()=>[M(`span`,gi,`+`+b(t*10)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&be.value?(l(),y(j(G),{key:13,class:`text-center text-sm`},{default:g(()=>[M(`span`,_i,`+`+b(t),1)]),_:2},1024)):T(``,!0),e.type===`technology`&&le.value?(l(),y(j(G),{key:14,class:`text-center text-sm`},{default:g(()=>[M(`span`,vi,[i[7]||=x(` + `,-1),S(Q,{value:t*500},null,8,[`value`])])]),_:2},1024)):T(``,!0),e.type===`technology`&&xe.value?(l(),y(j(G),{key:15,class:`text-center text-sm`},{default:g(()=>[...i[8]||=[M(`span`,{class:`text-purple-600 dark:text-purple-400`},`+1`,-1)]]),_:1})):T(``,!0),e.type===`technology`&&Se.value?(l(),y(j(G),{key:16,class:`text-center text-sm`},{default:g(()=>[...i[9]||=[M(`span`,{class:`text-green-600 dark:text-green-400`},`+1`,-1)]]),_:1})):T(``,!0),e.type===`technology`&&h.value?(l(),y(j(G),{key:17,class:`text-center text-sm`},{default:g(()=>[M(`span`,yi,`+30 `+b(j(n)(`research.forAllPlanets`)),1)]),_:1})):T(``,!0),e.type===`technology`&&Ce.value?(l(),y(j(G),{key:18,class:`text-center text-sm`},{default:g(()=>[M(`span`,bi,`+`+b(t*10)+`%`,1)]),_:2},1024)):T(``,!0),e.type===`technology`&&me.value?(l(),y(j(G),{key:19,class:`text-center text-sm`},{default:g(()=>[M(`span`,xi,`+`+b(E(t).researchSpeedBonus*100)+`%`,1)]),_:2},1024)):T(``,!0),S(j(G),{class:`text-center text-sm`},{default:g(()=>[M(`span`,Si,[i[10]||=x(` + `,-1),S(Q,{value:E(t).points},null,8,[`value`])])]),_:2},1024)]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})])):T(``,!0),e.type===`building`||e.type===`technology`?(l(),N(`div`,Ci,[S(j(q),null,{default:g(()=>[S(j(Y),{class:`pb-3`},{default:g(()=>[S(j(X),{class:`text-sm`},{default:g(()=>[x(b(j(n)(`${f.value}.totalCost`)),1)]),_:1})]),_:1}),S(j(J),{class:`space-y-2`},{default:g(()=>[M(`div`,wi,[M(`span`,Ti,b(j(n)(`resources.metal`))+`:`,1),M(`span`,Ei,[S(Q,{value:ke.value.metal},null,8,[`value`])])]),M(`div`,Di,[M(`span`,Oi,b(j(n)(`resources.crystal`))+`:`,1),M(`span`,ki,[S(Q,{value:ke.value.crystal},null,8,[`value`])])]),M(`div`,Ai,[M(`span`,ji,b(j(n)(`resources.deuterium`))+`:`,1),M(`span`,Mi,[S(Q,{value:ke.value.deuterium},null,8,[`value`])])])]),_:1})]),_:1}),S(j(q),null,{default:g(()=>[S(j(Y),{class:`pb-3`},{default:g(()=>[S(j(X),{class:`text-sm`},{default:g(()=>[x(b(j(n)(`${f.value}.totalPoints`)),1)]),_:1})]),_:1}),S(j(J),null,{default:g(()=>[M(`div`,Ni,[S(Q,{value:ke.value.points},null,8,[`value`])]),M(`p`,Pi,b(j(n)(`${f.value}.levelRange`))+`: `+b(Math.max(0,we.value-10))+` - `+b(we.value+10),1)]),_:1})]),_:1})])):T(``,!0),e.type===`ship`||e.type===`defense`?(l(),N(`div`,Fi,[S(j(q),null,{default:g(()=>[S(j(Y),{class:`pb-3`},{default:g(()=>[S(j(X),{class:`text-sm flex items-center gap-2`},{default:g(()=>[S(j(nn),{class:`h-4 w-4`}),x(` `+b(j(n)(`${f.value}.attack`)),1)]),_:1})]),_:1}),S(j(J),null,{default:g(()=>[M(`div`,Ii,[S(Q,{value:Te.value?.attack||0},null,8,[`value`])])]),_:1})]),_:1}),S(j(q),null,{default:g(()=>[S(j(Y),{class:`pb-3`},{default:g(()=>[S(j(X),{class:`text-sm flex items-center gap-2`},{default:g(()=>[S(j(rn),{class:`h-4 w-4`}),x(` `+b(j(n)(`${f.value}.shield`)),1)]),_:1})]),_:1}),S(j(J),null,{default:g(()=>[M(`div`,Li,[S(Q,{value:Te.value?.shield||0},null,8,[`value`])])]),_:1})]),_:1}),S(j(q),null,{default:g(()=>[S(j(Y),{class:`pb-3`},{default:g(()=>[S(j(X),{class:`text-sm flex items-center gap-2`},{default:g(()=>[S(j($t),{class:`h-4 w-4`}),x(` `+b(j(n)(`${f.value}.armor`)),1)]),_:1})]),_:1}),S(j(J),null,{default:g(()=>[M(`div`,Ri,[S(Q,{value:Te.value?.armor||0},null,8,[`value`])])]),_:1})]),_:1}),e.type===`ship`?(l(),y(j(q),{key:0},{default:g(()=>[S(j(Y),{class:`pb-3`},{default:g(()=>[S(j(X),{class:`text-sm flex items-center gap-2`},{default:g(()=>[S(j(un),{class:`h-4 w-4`}),x(` `+b(j(n)(`shipyard.speed`)),1)]),_:1})]),_:1}),S(j(J),null,{default:g(()=>[M(`div`,zi,[S(Q,{value:Ee.value?.speed||0},null,8,[`value`])])]),_:1})]),_:1})):T(``,!0),e.type===`ship`?(l(),y(j(q),{key:1},{default:g(()=>[S(j(Y),{class:`pb-3`},{default:g(()=>[S(j(X),{class:`text-sm flex items-center gap-2`},{default:g(()=>[S(j(pn),{class:`h-4 w-4`}),x(` `+b(j(n)(`shipyard.cargoCapacity`)),1)]),_:1})]),_:1}),S(j(J),null,{default:g(()=>[M(`div`,Bi,[S(Q,{value:Ee.value?.cargoCapacity||0},null,8,[`value`])])]),_:1})]),_:1})):T(``,!0),e.type===`ship`?(l(),y(j(q),{key:2},{default:g(()=>[S(j(Y),{class:`pb-3`},{default:g(()=>[S(j(X),{class:`text-sm flex items-center gap-2`},{default:g(()=>[S(j(qt),{class:`h-4 w-4`}),x(` `+b(j(n)(`shipyard.fuelConsumption`)),1)]),_:1})]),_:1}),S(j(J),null,{default:g(()=>[M(`div`,Vi,[S(Q,{value:Ee.value?.fuelConsumption||0},null,8,[`value`])])]),_:1})]),_:1})):T(``,!0)])):T(``,!0),e.type===`ship`||e.type===`defense`?(l(),N(`div`,Hi,[S(j(q),null,{default:g(()=>[S(j(Y),null,{default:g(()=>[S(j(X),{class:`text-sm`},{default:g(()=>[x(b(j(n)(`${f.value}.buildCost`)),1)]),_:1})]),_:1}),S(j(J),{class:`space-y-2`},{default:g(()=>[(l(),N(A,null,m(s,e=>Re(M(`div`,{key:e.key,class:`flex items-center justify-between text-sm`},[M(`span`,Ui,b(j(n)(`resources.${e.key}`))+`:`,1),M(`span`,Wi,[S(Q,{value:C.value[e.key]},null,8,[`value`])])]),[[t,C.value[e.key]>0]])),64)),M(`div`,Gi,[M(`span`,Ki,b(j(n)(`player.points`))+`:`,1),M(`span`,qi,[S(Q,{value:O.value},null,8,[`value`])])])]),_:1})]),_:1}),S(j(q),null,{default:g(()=>[S(j(Y),null,{default:g(()=>[S(j(X),{class:`text-sm`},{default:g(()=>[x(b(j(n)(`${f.value}.buildTime`)),1)]),_:1})]),_:1}),S(j(J),null,{default:g(()=>[M(`div`,Ji,b(j(qr)(De.value)),1),M(`p`,Yi,b(j(n)(`${f.value}.perUnit`)),1)]),_:1})]),_:1})])):T(``,!0),e.type===`ship`||e.type===`defense`?(l(),y(j(q),{key:4},{default:g(()=>[S(j(Y),null,{default:g(()=>[S(j(X),{class:`text-sm`},{default:g(()=>[x(b(j(n)(`${f.value}.batchCalculator`)),1)]),_:1})]),_:1}),S(j(J),{class:`space-y-4`},{default:g(()=>[M(`div`,Xi,[S(j(Gr),{class:`w-20`},{default:g(()=>[x(b(j(n)(`${f.value}.quantity`))+`:`,1)]),_:1}),S(j(or),{modelValue:o.value,"onUpdate:modelValue":i[0]||=e=>o.value=e,modelModifiers:{number:!0},type:`number`,min:`1`,class:`flex-1`},null,8,[`modelValue`])]),M(`div`,Zi,[M(`div`,Qi,[M(`p`,$i,b(j(n)(`${f.value}.totalCost`))+`:`,1),M(`div`,ea,[M(`div`,ta,[M(`span`,null,b(j(n)(`resources.metal`))+`:`,1),M(`span`,na,[S(Q,{value:k.value.metal},null,8,[`value`])])]),M(`div`,ra,[M(`span`,null,b(j(n)(`resources.crystal`))+`:`,1),M(`span`,ia,[S(Q,{value:k.value.crystal},null,8,[`value`])])]),M(`div`,aa,[M(`span`,null,b(j(n)(`resources.deuterium`))+`:`,1),M(`span`,oa,[S(Q,{value:k.value.deuterium},null,8,[`value`])])])])]),M(`div`,sa,[M(`p`,ca,b(j(n)(`${f.value}.totalTime`))+`:`,1),M(`div`,la,b(j(qr)(De.value*o.value)),1),M(`p`,ua,[x(b(j(n)(`player.points`))+`: + `,1),S(Q,{value:Ae.value},null,8,[`value`])])])])]),_:1})]),_:1})):T(``,!0)]))}}),fa=k({__name:`DetailDialog`,setup(e){let{t}=wn(),n=zr(),r=D(()=>!n.type||!n.itemType?``:t(`${{building:`buildings`,technology:`technologies`,ship:`ships`,defense:`defenses`}[n.type]}.${n.itemType}`)),i=D(()=>!n.type||!n.itemType?``:t(`${{building:`buildingDescriptions`,technology:`technologyDescriptions`,ship:`shipDescriptions`,defense:`defenseDescriptions`}[n.type]}.${n.itemType}`)),a=e=>{e||n.close()};return(e,o)=>(l(),y(j(Or),{open:j(n).isOpen,"onUpdate:open":a},{default:g(()=>[j(n).type&&j(n).itemType?(l(),y(j(Lr),{key:0,"container-class":`sm:max-w-[90vw] md:max-w-3xl lg:max-w-4xl max-h-[90vh]`},{header:g(()=>[S(j(Mr),null,{default:g(()=>[S(j(Rr),{class:`flex items-center gap-2`},{default:g(()=>[x(b(r.value)+` `,1),j(n).currentLevel===void 0?T(``,!0):(l(),y(j(En),{key:0,variant:`outline`},{default:g(()=>[x(b(j(t)(`common.currentLevel`))+` `+b(j(n).currentLevel),1)]),_:1}))]),_:1}),S(j(Ar),null,{default:g(()=>[x(b(i.value),1)]),_:1})]),_:1})]),default:g(()=>[S(da,{type:j(n).type,itemType:j(n).itemType,currentLevel:j(n).currentLevel},null,8,[`type`,`itemType`,`currentLevel`])]),_:1})):T(``,!0)]),_:1},8,[`open`]))}}),pa={class:`flex-1 overflow-y-auto min-h-0 mt-4 pr-2`},ma=[`innerHTML`],ha=k({__name:`UpdateDialog`,props:{open:{type:Boolean},versionInfo:{}},emits:[`update:open`],setup(e){let t=e,{t:n}=wn(),r=D(()=>t.versionInfo?.releaseNotes?$e(t.versionInfo.releaseNotes):``),i=()=>{t.versionInfo?.downloadUrl&&window.open(t.versionInfo.downloadUrl,`_blank`)};return(t,a)=>(l(),y(j(Or),{open:e.open,"onUpdate:open":a[1]||=e=>t.$emit(`update:open`,e)},{default:g(()=>[S(j(Nr),{class:`max-w-2xl max-h-[80vh] flex flex-col`},{default:g(()=>[S(j(Mr),{class:`flex-shrink-0`},{default:g(()=>[S(j(Rr),null,{default:g(()=>[x(b(j(n)(`settings.newVersionAvailable`,{version:e.versionInfo?.version||``})),1)]),_:1}),S(j(Ar),null,{default:g(()=>[x(b(j(n)(`settings.updateAvailable`)),1)]),_:1})]),_:1}),M(`div`,pa,[M(`div`,{class:`prose prose-sm dark:prose-invert max-w-none`,innerHTML:r.value},null,8,ma)]),S(j(jr),{class:`flex gap-2 flex-shrink-0 mt-4`},{default:g(()=>[S(j(W),{variant:`outline`,onClick:a[0]||=e=>t.$emit(`update:open`,!1)},{default:g(()=>[x(b(j(n)(`common.cancel`)),1)]),_:1}),S(j(W),{onClick:i},{default:g(()=>[S(j(zt),{class:`mr-2 h-4 w-4`}),x(` `+b(j(n)(`settings.download`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]))}}),ga=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},_a=ga(ha,[[`__scopeId`,`data-v-1e57bb70`]]),va=k({__name:`Sonner`,props:{id:{},invert:{type:Boolean},theme:{},position:{},closeButtonPosition:{},hotkey:{},richColors:{type:Boolean},expand:{type:Boolean},duration:{},gap:{},visibleToasts:{},closeButton:{type:Boolean},toastOptions:{},class:{},style:{},offset:{},mobileOffset:{},dir:{},swipeDirections:{},icons:{},containerAriaLabel:{}},setup(e){let t=e;return(e,n)=>(l(),y(j(et),P({class:j(U)(`toaster group`,t.class),style:{"--normal-bg":`var(--popover)`,"--normal-text":`var(--popover-foreground)`,"--normal-border":`var(--border)`,"--border-radius":`var(--radius)`}},t),{"success-icon":g(()=>[S(j(Yt),{class:`size-4`})]),"info-icon":g(()=>[S(j(Ht),{class:`size-4`})]),"warning-icon":g(()=>[S(j(ln),{class:`size-4`})]),"error-icon":g(()=>[S(j(Jt),{class:`size-4`})]),"loading-icon":g(()=>[M(`div`,null,[S(j(Ft),{class:`size-4 animate-spin`})])]),"close-icon":g(()=>[S(j(an),{class:`size-4`})]),_:1},16,[`class`]))}});const ya=()=>{try{let e=V.name,t=`${V.name}-universe`,n=localStorage.getItem(e);if(!n)return;let r;try{r=yn(n)}catch{try{r=JSON.parse(n)}catch{return}}if(!(r.universePlanets||r.debrisFields))return;let i={planets:{},debrisFields:{}};if(r.universePlanets){let e=r.universePlanets,t=r.player?.planets||[],n=new Set(t.map(e=>e.id));Object.entries(e).forEach(([e,t])=>{n.has(t.id)||(i.planets[e]=t)}),delete r.universePlanets}r.debrisFields&&(i.debrisFields=r.debrisFields,delete r.debrisFields),localStorage.setItem(t,vn(i)),localStorage.setItem(e,vn(r))}catch(e){console.error(e)}},ba=async(e,t)=>{let n=Date.now();if(n-e<300*1e3)return null;try{let e=await fetch(`https://api.github.com/repos/${V.author.name}/${V.name}/releases/latest`);if(!e.ok)throw console.error(`Failed to fetch latest version:`,e.status),t(n),Error(`Failed to fetch version: ${e.status}`);let r=await e.json(),i=r.tag_name?.replace(/^v/,``);return t(n),i&&i!==V.version?{version:i,releaseNotes:r.body||``,downloadUrl:`https://github.com/${V.author.name}/${V.name}/releases/latest`}:null}catch(e){throw console.error(`Error checking version:`,e),t(n),e}},xa=e=>Date.now()-e>=300*1e3;var Sa=`modulepreload`,Ca=function(e,t){return new URL(e,t).href},wa={};const $=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=Ca(t,n),t in wa)return;wa[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:Sa,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};var Ta={class:`flex items-center justify-center p-4 group-data-[collapsible=icon]:p-2`},Ea={class:`text-xl font-bold ml-2 group-data-[collapsible=icon]:hidden`},Da={class:`px-4 py-3 space-y-2 text-sm`},Oa={class:`flex items-start gap-2.5 flex-1 min-w-0`},ka={class:`flex-1 min-w-0 text-left`},Aa={class:`text-[10px] text-muted-foreground uppercase tracking-wider mb-0.5`},ja={class:`flex items-center gap-1.5 mb-0.5`},Ma={class:`truncate font-semibold text-sm`},Na={class:`text-[11px] text-muted-foreground`},Pa={class:`p-2`},Fa={class:`px-2 py-1.5 mb-1 text-xs font-semibold text-muted-foreground`},Ia={class:`space-y-0.5 max-h-80 overflow-y-auto`},La={class:`flex items-start gap-2 w-full min-w-0`},Ra={class:`flex-1 min-w-0 text-left`},za={class:`flex items-center gap-1.5 mb-0.5`},Ba={class:`truncate font-medium text-sm`},Va={class:`text-[11px] text-muted-foreground`},Ha={class:`bg-muted/50 rounded-lg p-2`},Ua={class:`flex items-center justify-between`},Wa={class:`text-xs text-muted-foreground`},Ga={class:`text-sm font-bold text-primary`},Ka={key:0,class:`flex gap-1`},qa={class:`space-y-1`},Ja={class:`flex flex-col h-full overflow-hidden pt-[60px]`},Ya={class:`flex flex-col gap-3`},Xa={class:`grid items-center gap-3 sm:gap-6`,style:{"grid-template-columns":`auto 1fr auto`}},Za={class:`min-w-0`},Qa={class:`text-[10px] sm:text-xs text-muted-foreground truncate`},$a={class:`text-[10px] sm:text-xs text-muted-foreground truncate`},eo={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0 justify-end`},to={key:0,class:`flex items-center gap-1.5 text-xs sm:text-sm`},no={class:`text-muted-foreground hidden sm:inline`},ro={key:1,class:`flex items-center gap-1.5 text-xs sm:text-sm`},io={class:`text-muted-foreground hidden sm:inline`},ao={class:`grid grid-cols-2 gap-3`},oo={class:`flex items-center justify-center gap-2 mb-1.5`},so={class:`text-xs font-medium text-muted-foreground`},co={class:`space-y-0.5 text-center`},lo={class:`text-[10px] text-muted-foreground`},uo={class:`text-[10px] text-muted-foreground`},fo={class:`text-[10px] text-muted-foreground`},po={key:2,class:`bg-card border-b px-4 sm:px-6 py-4.5`},mo={class:`space-y-3`},ho={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},go={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},_o={class:`font-medium truncate`},vo={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},yo={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},bo={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},xo={class:`flex items-center justify-between text-xs sm:text-sm gap-2`},So={class:`flex items-center gap-1.5 sm:gap-2 min-w-0 flex-1`},Co={class:`font-medium truncate`},wo={class:`text-muted-foreground hidden sm:inline flex-shrink-0 text-[10px] sm:text-xs`},To={class:`flex items-center gap-2 sm:gap-3 flex-shrink-0`},Eo={class:`text-muted-foreground text-[10px] sm:text-xs whitespace-nowrap`},Do={class:`flex-1 overflow-y-auto`},Oo={class:`animate-fade-in`},ko=10,Ao=5,jo=ga(k({__name:`App`,setup(e){ya();let t=bn(),r=xn(),d=Sn(),{isDark:re}=Cn(),{t:p}=wn(),se=_(!1),h=_(``),_e=_(``),ve=D(()=>window.innerWidth),ye=_(null),Se=_(!1),C=_(null),w=()=>{ye.value&&ye.value(),se.value=!1},Oe=[`zh-CN`,`zh-TW`,`en`,`de`,`ru`,`ko`,`ja`],O=_(window.innerWidth>=1024),k=_(!1),je=async()=>{if(!ke(t.player.planets)){let e=Date.now(),n=ue(t.player.officers,e);t.player.planets.forEach(t=>{a(t,e,n)}),Object.keys(r.planets).length===0&&Me();return}t.player=Ee(t.player.id,p(`common.playerName`));let e=he(t.player.id,p(`planet.homePlanet`));t.player.planets=[e],t.currentPlanetId=e.id,Me()},Me=()=>{for(let e=0;e<200;e++){let t=Ne(),n=E(t.galaxy,t.system,t.position);if(r.planets[n])continue;let i=u(e,t,p(`planet.planetPrefix`));r.planets[n]=i}},P=async()=>{if(t.isPaused)return;let e=Date.now();t.gameTime=e,Te(t.player.officers,e);let n=Ae(t.player,e);t.player.researchQueue=n.updatedResearchQueue,t.player.fleetMissions.forEach(t=>{t.status===`outbound`&&e>=t.arrivalTime?Re(t):t.status===`returning`&&t.returnTime&&e>=t.returnTime&&ze(t)});for(let n=t.player.missileAttacks.length-1;n>=0;n--){let r=t.player.missileAttacks[n];r&&r.status===`flying`&&e>=r.arrivalTime&&(await He(r),t.player.missileAttacks.splice(n,1))}d.npcs.forEach(t=>{t.fleetMissions&&t.fleetMissions.forEach(n=>{n.status===`outbound`&&e>=n.arrivalTime?Be(t,n):n.status===`returning`&&n.returnTime&&e>=n.returnTime&&Ve(t,n)})}),Ye(1),F(1)},Re=async e=>{let n=E(e.targetPosition.galaxy,e.targetPosition.system,e.targetPosition.position),i=t.player.planets.find(t=>t.position.galaxy===e.targetPosition.galaxy&&t.position.system===e.targetPosition.system&&t.position.position===e.targetPosition.position)||r.planets[n],a=t.player.planets.find(t=>t.id===e.originPlanetId)?.name||p(`fleetView.unknownPlanet`);if(e.missionType===B.Transport){let n=Le(e,i,t.player,d.npcs);t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${e.id}`,timestamp:Date.now(),missionType:B.Transport,originPlanetId:e.originPlanetId,originPlanetName:a,targetPosition:e.targetPosition,targetPlanetId:i?.id,targetPlanetName:i?.name||`[${e.targetPosition.galaxy}:${e.targetPosition.system}:${e.targetPosition.position}]`,success:n.success,message:n.success?p(`missionReports.transportSuccess`):p(`missionReports.transportFailed`),details:{transportedResources:e.cargo},read:!1})}else if(e.missionType===B.Attack){let n=await ae(e,i,t.player,null,t.player.planets);if(n){if(t.player.battleReports.push(n.battleResult),i){let e=d.npcs.find(e=>e.planets.some(e=>e.id===i.id));e&&ge(t.player,e,n.battleResult,d.npcs,t.locale)}n.moon&&t.player.planets.push(n.moon),n.debrisField&&(r.debrisFields[n.debrisField.id]=n.debrisField)}}else if(e.missionType===B.Colonize){let n=oe(e,i,t.player,p(`planet.colonyPrefix`));t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${e.id}`,timestamp:Date.now(),missionType:B.Colonize,originPlanetId:e.originPlanetId,originPlanetName:a,targetPosition:e.targetPosition,targetPlanetId:n?.id,targetPlanetName:n?.name,success:!!n,message:p(n?`missionReports.colonizeSuccess`:`missionReports.colonizeFailed`),details:n?{newPlanetId:n.id,newPlanetName:n.name}:void 0,read:!1}),n&&t.player.planets.push(n)}else if(e.missionType===B.Spy){let n=fe(e,i,t.player,null,d.npcs);n&&t.player.spyReports.push(n)}else if(e.missionType===B.Deploy){let n=le(e,i,t.player.id);if(t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${e.id}`,timestamp:Date.now(),missionType:B.Deploy,originPlanetId:e.originPlanetId,originPlanetName:a,targetPosition:e.targetPosition,targetPlanetId:i?.id,targetPlanetName:i?.name||`[${e.targetPosition.galaxy}:${e.targetPosition.system}:${e.targetPosition.position}]`,success:n,message:p(n?`missionReports.deploySuccess`:`missionReports.deployFailed`),details:{deployedFleet:e.fleet},read:!1}),n){let n=t.player.fleetMissions.indexOf(e);n>-1&&t.player.fleetMissions.splice(n,1);return}}else if(e.missionType===B.Recycle){let n=`debris_${e.targetPosition.galaxy}_${e.targetPosition.system}_${e.targetPosition.position}`,i=r.debrisFields[n],o=ie(e,i);t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${e.id}`,timestamp:Date.now(),missionType:B.Recycle,originPlanetId:e.originPlanetId,originPlanetName:a,targetPosition:e.targetPosition,success:!!o,message:p(o?`missionReports.recycleSuccess`:`missionReports.recycleFailed`),details:o?{recycledResources:o.collectedResources,remainingDebris:o.remainingDebris||void 0}:void 0,read:!1}),o&&i&&(o.remainingDebris&&(o.remainingDebris.metal>0||o.remainingDebris.crystal>0)?r.debrisFields[n]={id:i.id,position:i.position,resources:o.remainingDebris,createdAt:i.createdAt,expiresAt:i.expiresAt}:delete r.debrisFields[n])}else if(e.missionType===B.Destroy){let o=ee(e,i,t.player);if(t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`mission-report-${e.id}`,timestamp:Date.now(),missionType:B.Destroy,originPlanetId:e.originPlanetId,originPlanetName:a,targetPosition:e.targetPosition,targetPlanetId:i?.id,targetPlanetName:i?.name,success:o?.success||!1,message:o?.success?p(`missionReports.destroySuccess`):p(`missionReports.destroyFailed`),details:o?.success?{destroyedPlanetName:i?.name||`[${e.targetPosition.galaxy}:${e.targetPosition.system}:${e.targetPosition.position}]`}:void 0,read:!1}),o&&o.success&&o.planetId){let e=t.player.planets.findIndex(e=>e.id===o.planetId);e>-1?t.player.planets.splice(e,1):delete r.planets[n]}}},ze=e=>{let n=t.player.planets.find(t=>t.id===e.originPlanetId);if(!n)return;s(n.fleet,e.fleet),De(n.resources,e.cargo);let r=t.player.fleetMissions.indexOf(e);r>-1&&t.player.fleetMissions.splice(r,1)},Be=(e,n)=>{if(n.missionType===B.Recycle){let e=n.debrisFieldId;if(!e){console.warn(`[NPC Mission] Recycle mission missing debrisFieldId`),n.status=`returning`,n.returnTime=Date.now()+(n.arrivalTime-n.departureTime);return}let t=r.debrisFields[e],i=ie(n,t);i&&t&&(i.remainingDebris&&(i.remainingDebris.metal>0||i.remainingDebris.crystal>0)?r.debrisFields[e]={id:t.id,position:t.position,resources:i.remainingDebris,createdAt:t.createdAt}:delete r.debrisFields[e]),Ge(n.id),n.returnTime=Date.now()+(n.arrivalTime-n.departureTime);return}let a=E(n.targetPosition.galaxy,n.targetPosition.system,n.targetPosition.position),o=t.player.planets.find(e=>e.position.galaxy===n.targetPosition.galaxy&&e.position.system===n.targetPosition.system&&e.position.position===n.targetPosition.position)||r.planets[a];if(!o){console.warn(`[NPC Mission] Target planet not found`);return}if(n.missionType===B.Spy){let{spiedNotification:r,spyReport:a}=i(e,n,o,t.player);e.playerSpyReports||={},e.playerSpyReports[o.id]=a,t.player.spiedNotifications||(t.player.spiedNotifications=[]),t.player.spiedNotifications.push(r),Ge(n.id)}else n.missionType===B.Attack&&ne(e,n,o,t.player,t.player.planets).then(e=>{e&&(t.player.battleReports.push(e.battleResult),e.moon&&t.player.planets.push(e.moon),e.debrisField&&(r.debrisFields[e.debrisField.id]=e.debrisField)),Ge(n.id)})},Ve=(e,t)=>{let n=e.planets.find(e=>e.id===t.originPlanetId);if(n&&(s(n.fleet,t.fleet),t.cargo&&(n.resources.metal+=t.cargo.metal,n.resources.crystal+=t.cargo.crystal,n.resources.deuterium+=t.cargo.deuterium),e.fleetMissions)){let n=e.fleetMissions.indexOf(t);n>-1&&e.fleetMissions.splice(n,1)}},He=async e=>{let n=await $(()=>import(`./missileLogic-_46Nr-Ju.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url),i=E(e.targetPosition.galaxy,e.targetPosition.system,e.targetPosition.position),a=t.player.planets.find(t=>t.position.galaxy===e.targetPosition.galaxy&&t.position.system===e.targetPosition.system&&t.position.position===e.targetPosition.position)||r.planets[i];if(!a){e.status=`arrived`,t.player.missionReports||(t.player.missionReports=[]),t.player.missionReports.push({id:`missile-report-${e.id}`,timestamp:Date.now(),missionType:B.MissileAttack,originPlanetId:e.originPlanetId,originPlanetName:t.player.planets.find(t=>t.id===e.originPlanetId)?.name||p(`fleetView.unknownPlanet`),targetPosition:e.targetPosition,targetPlanetId:void 0,targetPlanetName:`[${e.targetPosition.galaxy}:${e.targetPosition.system}:${e.targetPosition.position}]`,success:!1,message:p(`missionReports.missileAttackFailed`),details:{missileCount:e.missileCount,missileHits:0,missileIntercepted:0,defenseLosses:{}},read:!1});return}let o=n.calculateMissileImpact(e.missileCount,a);n.applyMissileAttackResult(a,o.defenseLosses),e.status=`arrived`,t.player.missionReports||(t.player.missionReports=[]);let s=o.missileHits>0?`${p(`missionReports.missileAttackSuccess`)}: ${o.missileHits} ${p(`missionReports.hits`)}`:p(`missionReports.missileAttackIntercepted`);t.player.missionReports.push({id:`missile-report-${e.id}`,timestamp:Date.now(),missionType:B.MissileAttack,originPlanetId:e.originPlanetId,originPlanetName:t.player.planets.find(t=>t.id===e.originPlanetId)?.name||p(`fleetView.unknownPlanet`),targetPosition:e.targetPosition,targetPlanetId:a.id,targetPlanetName:a.name,success:!0,message:s,details:{missileCount:e.missileCount,missileHits:o.missileHits,missileIntercepted:o.missileIntercepted,defenseLosses:o.defenseLosses},read:!1})},Ue=e=>{if(!t.player.incomingFleetAlerts)return;let n=t.player.incomingFleetAlerts.indexOf(e);n>-1&&t.player.incomingFleetAlerts.splice(n,1)},Ge=e=>{if(!t.player.incomingFleetAlerts)return;let n=t.player.incomingFleetAlerts.findIndex(t=>t.id===e);n>-1&&t.player.incomingFleetAlerts.splice(n,1)},qe=0,Ye=e=>{if(qe+=e,qe{n.ownerId===t.player.id||!n.ownerId||(e.has(n.ownerId)||e.set(n.ownerId,{id:n.ownerId,name:`NPC-${n.ownerId.substring(0,8)}`,planets:[],technologies:{},difficulty:`medium`,relations:{},allies:[],enemies:[]}),e.get(n.ownerId).planets.push(n))}),d.npcs=Array.from(e.values()),d.npcs.length>0){let e=pe({planets:n,player:t.player,npcs:d.npcs});d.npcs.forEach(t=>{o(t,e)}),c(d.npcs)}}if(d.npcs.length===0){qe=0;return}let i={planets:n,player:t.player,npcs:d.npcs};d.npcs.forEach(e=>{ce(e,i,qe)}),qe=0},Ze=0,F=e=>{if(Ze+=e,Ze{Pe(e,t.player,i,r.debrisFields,n)}),Ze=0},$e=null,et=null,tt=null,I=()=>{$e&&clearInterval($e);let e=1e3/(t.gameSpeed||1);$e=setInterval(()=>{P()},e)};te(()=>t.gameSpeed,()=>{$e&&I()}),Fe(async()=>{t.player.planets.length===0&&(t.locale=Xe()),await je(),I(),et=nt();let e=await ba(t.player.lastVersionCheckTime||0,e=>{t.player.lastVersionCheckTime=e});e&&(C.value=e,Qe.info(p(`settings.newVersionAvailable`,{version:e.version}),{duration:1/0,dismissible:!0,action:{label:p(`settings.viewUpdate`),onClick:()=>{Se.value=!0}}})),tt=setInterval(async()=>{let e=await ba(t.player.lastVersionCheckTime||0,e=>{t.player.lastVersionCheckTime=e});e&&(C.value=e,Qe.info(p(`settings.newVersionAvailable`,{version:e.version}),{duration:1/0,dismissible:!0,action:{label:p(`settings.viewUpdate`),onClick:()=>{Se.value=!0}}}))},300*1e3)}),me(()=>{$e&&clearInterval($e),et&&et(),tt&&clearInterval(tt)});let nt=()=>{let e=[`ArrowUp`,`ArrowUp`,`ArrowDown`,`ArrowDown`,`ArrowLeft`,`ArrowLeft`,`ArrowRight`,`ArrowRight`,`b`,`a`],n=0,r=r=>{t.player.isGMEnabled||(r.key.toLowerCase()===e[n]||r.key===e[n]?(n++,n===e.length&&(t.player.isGMEnabled=!0,Qe.success(p(`common.gmModeActivated`)),n=0)):n=0)};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r)}},L=D(()=>t.currentPlanet),rt=D(()=>[{name:D(()=>p(`nav.overview`)),path:`/`,icon:Ut},{name:D(()=>p(`nav.buildings`)),path:`/buildings`,icon:Kt},{name:D(()=>p(`nav.research`)),path:`/research`,icon:mn},{name:D(()=>p(`nav.shipyard`)),path:`/shipyard`,icon:on},{name:D(()=>p(`nav.defense`)),path:`/defense`,icon:rn},{name:D(()=>p(`nav.fleet`)),path:`/fleet`,icon:fn},{name:D(()=>p(`nav.officers`)),path:`/officers`,icon:en},{name:D(()=>p(`nav.simulator`)),path:`/battle-simulator`,icon:dn},{name:D(()=>p(`nav.galaxy`)),path:`/galaxy`,icon:Bt},{name:D(()=>p(`nav.diplomacy`)),path:`/diplomacy`,icon:Gt},{name:D(()=>p(`nav.messages`)),path:`/messages`,icon:Wt},{name:D(()=>p(`nav.settings`)),path:`/settings`,icon:Qt},...t.player.isGMEnabled?[{name:D(()=>p(`nav.gm`)),path:`/gm`,icon:cn}]:[]]),R=D(()=>{if(!L.value)return null;let e=Date.now(),n=ue(t.player.officers,e);return we(L.value,{resourceProductionBonus:n.resourceProductionBonus,darkMatterProductionBonus:n.darkMatterProductionBonus,energyProductionBonus:n.energyProductionBonus})}),it=D(()=>{if(!L.value)return null;let e=Date.now(),n=ue(t.player.officers,e);return Ie(L.value,n.storageCapacityBonus)}),at=D(()=>L.value?Ce(L.value):0),z=D(()=>!L.value||!R.value?0:R.value.energy-at.value),ot=D(()=>{let e=t.player.battleReports.filter(e=>!e.read).length,n=t.player.spyReports.filter(e=>!e.read).length,r=t.player.spiedNotifications?.filter(e=>!e.read).length||0,i=t.player.missionReports?.filter(e=>!e.read).length||0,a=t.player.npcActivityNotifications?.filter(e=>!e.read).length||0,o=t.player.giftNotifications?.filter(e=>!e.read).length||0,s=t.player.giftRejectedNotifications?.filter(e=>!e.read).length||0;return e+n+r+i+a+o+s}),st=D(()=>t.player.fleetMissions.filter(e=>e.status===`outbound`||e.status===`returning`).length+(t.player.missileAttacks?.filter(e=>e.status===`flying`).length||0)),ct=[{key:`metal`},{key:`crystal`},{key:`deuterium`},{key:`energy`},{key:`darkMatter`}],lt=D(()=>!L.value||L.value.isMoon?null:t.getMoonForPlanet(L.value.id)),ut=D(()=>!!lt.value),dt=()=>{lt.value&&(t.currentPlanetId=lt.value.id)},ft=()=>{L.value?.parentPlanetId&&(t.currentPlanetId=L.value.parentPlanetId)},pt=e=>{t.currentPlanetId=e},mt=()=>{O.value=!O.value},ht=e=>{if(e.type===`building`||e.type===`demolish`){let t=p(`buildings.${e.itemType}`);return e.type===`demolish`?`${p(`buildingsView.demolish`)} - ${t}`:t}else if(e.type===`technology`)return p(`technologies.${e.itemType}`);else if(e.type===`ship`)return p(`ships.${e.itemType}`);else if(e.type===`defense`)return p(`defenses.${e.itemType}`);return e.itemType},gt=e=>{let t=Date.now();return Math.max(0,Math.floor((e.endTime-t)/1e3))},_t=e=>{let t=Date.now(),n=e.endTime-e.startTime,r=t-e.startTime;return Math.min(100,Math.max(0,r/n*100))},vt=e=>{h.value=p(`queue.cancelBuild`),_e.value=p(`queue.confirmCancel`),ye.value=()=>{if(!t.currentPlanet)return!1;let{item:n,index:r}=de(t.currentPlanet.buildQueue,e);if(!n)return!1;if(n.type===`building`){let e=xe(t.currentPlanet,n);De(t.currentPlanet.resources,e)}return t.currentPlanet.buildQueue.splice(r,1),!0},se.value=!0},yt=e=>{h.value=p(`queue.cancelResearch`),_e.value=p(`queue.confirmCancel`),ye.value=()=>{if(!t.currentPlanet)return!1;let{item:n,index:r}=de(t.player.researchQueue,e);if(!n)return!1;if(n.type===`technology`){let e=f(n);De(t.currentPlanet.resources,e)}return t.player.researchQueue.splice(r,1),!0},se.value=!0};return(e,r)=>(l(),y(j(gr),{open:O.value,"onUpdate:open":r[4]||=e=>O.value=e},{default:g(()=>[S(j(tr),{collapsible:`icon`},{default:g(()=>[S(j(ar),{class:`border-b`},{default:g(()=>[M(`div`,Ta,[r[5]||=M(`img`,{src:``+new URL(`logo-Cz0cNqhe.svg`,import.meta.url).href,class:`w-10 group-data-[collapsible=icon]:w-8`},null,-1),M(`h1`,Ea,b(j(V).title),1)])]),_:1}),S(j(nr),null,{default:g(()=>[L.value?(l(),y(j(ir),{key:0,class:`border-b group-data-[collapsible=icon]:hidden`},{default:g(()=>[M(`div`,Da,[S(j(kn),null,{default:g(()=>[S(j(jn),{"as-child":``},{default:g(()=>[S(j(W),{variant:`outline`,class:`w-full justify-between h-auto px-3 py-2.5 border-2 hover:bg-accent hover:border-primary transition-colors`},{default:g(()=>[M(`div`,Oa,[S(j(Bt),{class:`h-5 w-5 flex-shrink-0 mt-0.5 text-primary`}),M(`div`,ka,[M(`div`,Aa,b(j(p)(`planet.currentPlanet`)),1),M(`div`,ja,[M(`span`,Ma,b(L.value.name),1),L.value.isMoon?(l(),y(j(En),{key:0,variant:`secondary`,class:`text-[10px] px-1 py-0 h-4`},{default:g(()=>[x(b(j(p)(`planet.moon`)),1)]),_:1})):T(``,!0)]),M(`div`,Na,` [`+b(L.value.position.galaxy)+`:`+b(L.value.position.system)+`:`+b(L.value.position.position)+`] `,1)])]),S(j(Rt),{class:`h-4 w-4 flex-shrink-0 text-muted-foreground ml-2`})]),_:1})]),_:1}),S(j(An),{class:`w-72 p-0`,side:`bottom`,align:`start`},{default:g(()=>[M(`div`,Pa,[M(`div`,Fa,b(j(p)(`planet.switchPlanet`)),1),M(`div`,Ia,[(l(!0),N(A,null,m(j(t).player.planets,e=>(l(),y(j(W),{key:e.id,onClick:t=>pt(e.id),variant:e.id===L.value.id?`secondary`:`ghost`,class:`w-full justify-start h-auto py-2 px-2`,size:`sm`},{default:g(()=>[M(`div`,La,[S(j(Bt),{class:v([`h-4 w-4 flex-shrink-0 mt-0.5`,e.id===L.value.id?`text-primary`:``])},null,8,[`class`]),M(`div`,Ra,[M(`div`,za,[M(`span`,Ba,b(e.name),1),e.isMoon?(l(),y(j(En),{key:0,variant:`outline`,class:`text-[10px] px-1 py-0 h-4`},{default:g(()=>[x(b(j(p)(`planet.moon`)),1)]),_:1})):T(``,!0)]),M(`div`,Va,` [`+b(e.position.galaxy)+`:`+b(e.position.system)+`:`+b(e.position.position)+`] `,1)])])]),_:2},1032,[`onClick`,`variant`]))),128))])])]),_:1})]),_:1}),M(`div`,Ha,[M(`div`,Ua,[M(`span`,Wa,b(j(p)(`player.points`)),1),M(`span`,Ga,b(j(Z)(j(t).player.points)),1)])]),ut.value||L.value.isMoon?(l(),N(`div`,Ka,[L.value.isMoon?(l(),y(j(W),{key:0,onClick:ft,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:g(()=>[x(b(j(p)(`planet.backToPlanet`)),1)]),_:1})):lt.value?(l(),y(j(W),{key:1,onClick:dt,variant:`outline`,size:`sm`,class:`w-full text-xs h-7`},{default:g(()=>[x(b(j(p)(`planet.switchToMoon`)),1)]),_:1})):T(``,!0)])):T(``,!0)])]),_:1})):T(``,!0),S(j(ir),null,{default:g(()=>[S(j(cr),null,{default:g(()=>[(l(!0),N(A,null,m(rt.value,t=>(l(),y(j(hr),{key:t.path},{default:g(()=>[S(j(mr),{"as-child":``,"is-active":e.$route.path===t.path,tooltip:t.name.value},{default:g(()=>[S(j(Ke),{to:t.path},{default:g(()=>[(l(),y(n(t.icon))),M(`span`,null,b(t.name.value),1),t.path===`/messages`&&ot.value>0?(l(),y(j(lr),{key:0,class:`bg-destructive text-destructive-foreground`},{default:g(()=>[x(b(ot.value),1)]),_:1})):T(``,!0),t.path===`/fleet`&&st.value>0?(l(),y(j(lr),{key:1,class:`bg-primary text-primary-foreground`},{default:g(()=>[x(b(st.value),1)]),_:1})):T(``,!0)]),_:2},1032,[`to`])]),_:2},1032,[`is-active`,`tooltip`])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),S(j(rr),{class:`border-t`},{default:g(()=>[S(j(cr),null,{default:g(()=>[S(j(hr),null,{default:g(()=>[S(j(kn),null,{default:g(()=>[S(j(jn),{"as-child":``},{default:g(()=>[S(j(mr),{tooltip:j(Je)[j(t).locale]},{default:g(()=>[S(j(tn)),M(`span`,null,b(j(Je)[j(t).locale]),1)]),_:1},8,[`tooltip`])]),_:1}),S(j(An),{class:`w-48 p-2`,side:O.value||ve.value<768?`top`:`right`,align:O.value||ve.value<768?`center`:`end`},{default:g(()=>[M(`div`,qa,[(l(),N(A,null,m(Oe,e=>S(j(W),{key:e,onClick:n=>j(t).locale=e,variant:j(t).locale===e?`secondary`:`ghost`,class:`w-full justify-start`,size:`sm`},{default:g(()=>[x(b(j(Je)[e]),1)]),_:2},1032,[`onClick`,`variant`])),64))])]),_:1},8,[`side`,`align`])]),_:1})]),_:1}),S(j(hr),null,{default:g(()=>[S(j(mr),{onClick:r[0]||=e=>re.value=!j(re),tooltip:j(re)?j(p)(`sidebar.lightMode`):j(p)(`sidebar.darkMode`)},{default:g(()=>[j(re)?(l(),y(j(Zt),{key:0})):(l(),y(j(Lt),{key:1})),M(`span`,null,b(j(re)?j(p)(`sidebar.lightMode`):j(p)(`sidebar.darkMode`)),1)]),_:1},8,[`tooltip`])]),_:1}),S(j(hr),{class:`hidden sm:inline`},{default:g(()=>[S(j(mr),{onClick:mt,tooltip:O.value?j(p)(`sidebar.collapse`):j(p)(`sidebar.expand`)},{default:g(()=>[S(j(Vt),{class:`group-data-[state=collapsed]:rotate-180 transition-transform`}),M(`span`,null,b(j(p)(`sidebar.collapse`)),1)]),_:1},8,[`tooltip`])]),_:1})]),_:1})]),_:1})]),_:1}),S(j(sr),null,{default:g(()=>[M(`div`,Ja,[L.value?(l(),N(`header`,{key:0,class:v([`fixed top-0 right-0 left-0 z-40 bg-card border-b px-4 sm:px-6 py-3 shadow-md`,O.value?`lg:left-[var(--sidebar-width)]`:`lg:left-[var(--sidebar-width-icon)]`])},[M(`div`,Ya,[M(`div`,Xa,[M(`div`,null,[S(j(_r),{class:`lg:hidden`})]),M(`div`,{class:v([`flex items-center gap-3 sm:gap-6 justify-center`,k.value?`hidden`:`overflow-x-auto`])},[(l(),N(A,null,m(ct,e=>M(`div`,{key:e.key,class:`flex items-center gap-1.5 sm:gap-2 flex-shrink-0`},[S(yr,{type:e.key,size:`md`},null,8,[`type`]),M(`div`,Za,[e.key===`energy`?(l(),N(A,{key:0},[M(`p`,{class:v([`text-xs sm:text-sm font-medium truncate`,z.value>=0?`text-green-600 dark:text-green-400`:`text-red-600 dark:text-red-400`])},b(z.value>=0?`+`:``)+b(j(Z)(z.value)),3),M(`p`,Qa,b(j(Z)(R.value?.energy||0))+` / `+b(j(Z)(at.value)),1)],64)):(l(),N(A,{key:1},[M(`p`,{class:v([`text-xs sm:text-sm font-medium truncate`,j(Kr)(L.value.resources[e.key],it.value?.[e.key]||1/0)])},b(j(Z)(L.value.resources[e.key]))+` / `+b(j(Z)(it.value?.[e.key]||0)),3),M(`p`,$a,` +`+b(j(Z)(Math.round((R.value?.[e.key]||0)/60)))+`/`+b(j(p)(`resources.perMinute`)),1)],64))])])),64))],2),M(`div`,eo,[S(j(W),{onClick:r[1]||=e=>k.value=!k.value,variant:`ghost`,size:`sm`,class:`lg:hidden h-8 w-8 p-0`},{default:g(()=>[k.value?(l(),y(j(sn),{key:1,class:`h-4 w-4`})):(l(),y(j(Xt),{key:0,class:`h-4 w-4`}))]),_:1}),L.value.buildQueue.length>0?(l(),N(`div`,to,[r[6]||=M(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse`},null,-1),M(`span`,no,b(j(p)(`queue.building`)),1)])):T(``,!0),j(t).player.researchQueue.length>0?(l(),N(`div`,ro,[r[7]||=M(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse`},null,-1),M(`span`,io,b(j(p)(`queue.researching`)),1)])):T(``,!0)])])])],2)):T(``,!0),S(be,{"enter-active-class":`transition-all duration-300 ease-out`,"enter-from-class":`opacity-0 -translate-y-2`,"enter-to-class":`opacity-100 translate-y-0`,"leave-active-class":`transition-all duration-200 ease-in`,"leave-from-class":`opacity-100 translate-y-0`,"leave-to-class":`opacity-0 -translate-y-2`},{default:g(()=>[L.value&&k.value?(l(),N(`div`,{key:0,class:v([`fixed top-[60px] right-0 left-0 z-30 bg-card border-b px-4 py-3 shadow-md lg:hidden`,O.value?`lg:left-[var(--sidebar-width)]`:`lg:left-[var(--sidebar-width-icon)]`])},[M(`div`,ao,[(l(),N(A,null,m(ct,e=>M(`div`,{key:e.key,class:`bg-muted/50 rounded-lg p-2.5`},[M(`div`,oo,[S(yr,{type:e.key,size:`md`},null,8,[`type`]),M(`span`,so,b(j(p)(`resources.${e.key}`)),1)]),M(`div`,co,[e.key===`energy`?(l(),N(A,{key:0},[M(`p`,{class:v([`text-sm font-semibold`,z.value>=0?`text-green-600 dark:text-green-400`:`text-red-600 dark:text-red-400`])},b(z.value>=0?`+`:``)+b(j(Z)(z.value)),3),M(`p`,lo,b(j(p)(`resources.production`))+`: `+b(j(Z)(R.value?.energy||0))+` / `+b(j(Z)(at.value)),1)],64)):(l(),N(A,{key:1},[M(`p`,{class:v([`text-sm font-semibold`,j(Kr)(L.value.resources[e.key],it.value?.[e.key]||1/0)])},b(j(Z)(L.value.resources[e.key])),3),M(`p`,uo,b(j(p)(`resources.capacity`))+`: `+b(j(Z)(it.value?.[e.key]||0)),1),M(`p`,fo,b(j(p)(`resources.production`))+`: +`+b(j(Z)(Math.round((R.value?.[e.key]||0)/60)))+`/`+b(j(p)(`resources.perMinute`)),1)],64))])])),64))])],2)):T(``,!0)]),_:1}),j(t).player.incomingFleetAlerts&&j(t).player.incomingFleetAlerts.length>0?(l(),y(Hn,{key:1,alerts:j(t).player.incomingFleetAlerts,onMarkAsRead:Ue},null,8,[`alerts`])):T(``,!0),L.value&&(L.value.buildQueue.length>0||j(t).player.researchQueue.length>0)?(l(),N(`div`,po,[M(`div`,mo,[(l(!0),N(A,null,m(L.value.buildQueue,e=>(l(),N(`div`,{key:e.id,class:`space-y-1.5`},[M(`div`,ho,[M(`div`,go,[r[8]||=M(`div`,{class:`h-2 w-2 rounded-full bg-green-500 animate-pulse flex-shrink-0`},null,-1),M(`span`,_o,b(ht(e)),1),M(`span`,vo,[e.type===`ship`||e.type===`defense`?(l(),N(A,{key:0},[x(` → `+b(j(p)(`queue.quantity`))+` `+b(e.quantity),1)],64)):(l(),N(A,{key:1},[x(`→ `+b(j(p)(`queue.level`))+` `+b(e.targetLevel),1)],64))])]),M(`div`,yo,[M(`span`,bo,b(j(qr)(gt(e))),1),S(j(W),{onClick:t=>vt(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:g(()=>[x(b(j(p)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),S(j(On),{"model-value":_t(e),class:`h-1.5`},null,8,[`model-value`])]))),128)),(l(!0),N(A,null,m(j(t).player.researchQueue,e=>(l(),N(`div`,{key:e.id,class:`space-y-1.5`},[M(`div`,xo,[M(`div`,So,[r[9]||=M(`div`,{class:`h-2 w-2 rounded-full bg-blue-500 animate-pulse flex-shrink-0`},null,-1),M(`span`,Co,b(ht(e)),1),M(`span`,wo,` → `+b(j(p)(`queue.level`))+` `+b(e.targetLevel),1)]),M(`div`,To,[M(`span`,Eo,b(j(qr)(gt(e))),1),S(j(W),{onClick:t=>yt(e.id),variant:`ghost`,size:`sm`,class:`h-5 sm:h-6 px-1.5 sm:px-2 text-[10px] sm:text-xs`},{default:g(()=>[x(b(j(p)(`queue.cancel`)),1)]),_:1},8,[`onClick`])])]),S(j(On),{"model-value":_t(e),class:`h-1.5`},null,8,[`model-value`])]))),128))])])):T(``,!0),M(`main`,Do,[M(`div`,Oo,[S(j(We))])])])]),_:1}),S(j(br),{open:se.value,"onUpdate:open":r[2]||=e=>se.value=e},{default:g(()=>[S(j(Cr),null,{default:g(()=>[S(j(Er),null,{default:g(()=>[S(j(Dr),null,{default:g(()=>[x(b(h.value),1)]),_:1}),S(j(wr),{class:`whitespace-pre-line`},{default:g(()=>[x(b(_e.value),1)]),_:1})]),_:1}),S(j(Tr),null,{default:g(()=>[S(j(Sr),null,{default:g(()=>[x(b(j(p)(`common.cancel`)),1)]),_:1}),S(j(xr),{onClick:w},{default:g(()=>[x(b(j(p)(`common.confirm`)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),S(fa),S(_a,{open:Se.value,"onUpdate:open":r[3]||=e=>Se.value=e,"version-info":C.value},null,8,[`open`,`version-info`]),S(va,{position:`top-center`})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-647bf304`]]),Mo=Ge({history:Ue(),routes:[{path:`/`,name:`overview`,component:()=>$(()=>import(`./OverviewView-D7lWE9IR.js`),__vite__mapDeps([5,6,1,2,3,4,7,8,9,10,11,12,13,14,15]),import.meta.url)},{path:`/buildings`,name:`buildings`,component:()=>$(()=>import(`./BuildingsView-BwpaZTPf.js`),__vite__mapDeps([16,6,1,2,3,4,7,8,9,10,11,17,12,18,15,13]),import.meta.url)},{path:`/research`,name:`research`,component:()=>$(()=>import(`./ResearchView-BoGXU7Gy.js`),__vite__mapDeps([19,6,1,2,3,4,7,8,9,10,11,17,12,20,18,15,21,13]),import.meta.url)},{path:`/shipyard`,name:`shipyard`,component:()=>$(()=>import(`./ShipyardView-DRH89hEQ.js`),__vite__mapDeps([22,6,1,2,3,4,7,8,9,10,11,17,12,20,18,15,21,13]),import.meta.url)},{path:`/defense`,name:`defense`,component:()=>$(()=>import(`./DefenseView-aCDrCjw8.js`),__vite__mapDeps([23,6,1,2,3,4,7,8,9,10,11,17,12,20,18,15,21,13]),import.meta.url)},{path:`/fleet`,name:`fleet`,component:()=>$(()=>import(`./FleetView-BzElc0kX.js`),__vite__mapDeps([24,6,1,2,3,4,7,8,9,10,11,17,12,20,21,13,15,14]),import.meta.url)},{path:`/officers`,name:`officers`,component:()=>$(()=>import(`./OfficersView-CXh701uW.js`),__vite__mapDeps([25,6,1,2,3,4,7,8,9,10,11,12,13,15]),import.meta.url)},{path:`/battle-simulator`,name:`battle-simulator`,component:()=>$(()=>import(`./BattleSimulatorView-BMgbGRUI.js`),__vite__mapDeps([26,6,1,2,3,4,7,8,9,10,11,17,12,27,28,15,13,14]),import.meta.url)},{path:`/messages`,name:`messages`,component:()=>$(()=>import(`./MessagesView-w53RKU-r.js`),__vite__mapDeps([29,6,1,2,3,4,7,8,9,10,11,17,12,27,28,15,13,14]),import.meta.url)},{path:`/galaxy`,name:`galaxy`,component:()=>$(()=>import(`./GalaxyView-LGfalWWd.js`),__vite__mapDeps([30,6,1,2,3,4,7,8,9,10,11,17,12,20,13,31,28]),import.meta.url)},{path:`/diplomacy`,name:`diplomacy`,component:()=>$(()=>import(`./DiplomacyView-BZEvKDfM.js`),__vite__mapDeps([32,6,1,2,3,4,7,8,9,10,11,17,12,20,13,14]),import.meta.url)},{path:`/settings`,name:`settings`,component:()=>$(()=>import(`./SettingsView-CqA4xeYn.js`),__vite__mapDeps([33,6,1,2,3,4,7,8,9,10,11,17,12,13]),import.meta.url)},{path:`/gm`,name:`gm`,component:()=>$(()=>import(`./GMView-BMhV90vD.js`),__vite__mapDeps([34,6,1,2,3,4,7,8,9,10,11,17,12,20,13,35,31,14,15]),import.meta.url)},{path:`/:pathMatch(.*)*`,name:`not-found`,component:()=>$(()=>import(`./NotFoundView-BqreQe6E.js`),__vite__mapDeps([36,6,1,2,3,4,7,8,10,11,17,12,20,35]),import.meta.url)}]}),No=Se(jo),Po=Be();Po.use(He),No.use(Po),No.use(Mo),No.mount(`#app`);export{bn as $,Er as A,ur as B,Lr as C,kr as D,Ar as E,xr as F,On as G,jn as H,br as I,W as J,En as K,yr as L,wr as M,Cr as N,Or as O,Sr as P,xn as Q,fr as R,Rr as S,jr as T,An as U,or as V,kn as W,wn as X,U as Y,Sn as Z,Ur as _,Jr as a,Vr as b,Kr as c,X as d,V as et,Y as f,K as g,Wr as h,_a as i,Tr as j,Dr as k,Yr as l,q as m,xa as n,Z as o,J as p,Tn as q,ba as r,qr as s,$ as t,Gr as u,G as v,Mr as w,zr as x,Hr as y,dr as z};