@idosgames/react 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/index.cjs +8 -2
- package/dist/ui/index.d.cts +210 -5
- package/dist/ui/index.d.ts +210 -5
- package/dist/ui/index.js +8 -2
- package/package.json +2 -2
package/dist/ui/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {c}from'../chunk-UYRDWMMD.js';import {createContext,useContext,useMemo,useState,useCallback,useRef,useEffect,useReducer,useLayoutEffect,useSyncExternalStore}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {createPortal}from'react-dom';var je=["click","tab","open","close","reward","coin","purchase","claim","error","notify","lootbox","levelUp","countTick"];function Nn(e){return e}var Se="0 2px 0 rgba(0,0,0,.45), 0 0 1px rgba(0,0,0,.6)",Ft={theme:{bgTop:"#232a6b",bgBottom:"#0d1033",panel:"#2c3480",panelDeep:"#1d2360",panelEdge:"#4f5bc9",text:"#ffffff",textDim:"#aeb6f0",gold:"#ffd24a",goldDeep:"#e89a12",green:"#59d35b",greenDeep:"#2b9936",blue:"#4fb1ff",blueDeep:"#2276d6",red:"#ff5a5a",redDeep:"#b83232",shadow:"rgba(4, 6, 30, 0.55)",backdrop:"rgba(5, 7, 30, 0.72)",onGreen:"#ffffff",onGold:"#ffffff",onBlue:"#ffffff",onRed:"#ffffff",textOutline:Se,line:"rgba(255, 255, 255, 0.2)",well:"rgba(8, 10, 40, 0.6)",wellSoft:"rgba(0, 0, 0, 0.3)",wellShadow:"inset 0 2px 4px rgba(0, 0, 0, 0.4)",edge:"rgba(0, 0, 0, 0.35)",glow:"rgba(90, 110, 255, 0.35)",panelShadow:"0 6px 0 rgba(4, 6, 30, 0.55), inset 0 2px 0 rgba(255, 255, 255, 0.12)",radius:18,buttonRadius:14,font:"'Baloo 2', 'Nunito', 'Trebuchet MS', system-ui, sans-serif",rarity:{Common:"#a9b3c9",Uncommon:"#63d86b",Rare:"#4fb1ff",Epic:"#b879ff",Legendary:"#ffb52e"}},motion:{enabled:true,speed:1,intensity:1,rewardFlight:true,particles:true,stagger:true,respectReducedMotion:true},sound:{enabled:true,volume:.6,events:{}}},_=(e,t,n,o)=>typeof e=="number"&&Number.isFinite(e)?Math.min(n,Math.max(t,e)):o;function Ce(e){let t=Ft,n={...t.theme,...Kt(e?.theme??{})};n.rarity={...t.theme.rarity,...e?.theme?.rarity??{}},Pn(n,e?.theme??{}),n.radius=_(n.radius,0,64,t.theme.radius),n.buttonRadius=_(n.buttonRadius,0,64,t.theme.buttonRadius);let o={...t.motion,...Kt(e?.motion??{})};o.speed=_(o.speed,.1,5,t.motion.speed),o.intensity=_(o.intensity,0,3,t.motion.intensity);let i=e?.sound??{},r={enabled:i.enabled??t.sound.enabled,volume:_(i.volume??t.sound.volume,0,1,t.sound.volume),events:{...t.sound.events,...i.events??{}}};return {theme:n,motion:o,sound:r}}function Mn(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase(),n=/^#([0-9a-f]{3,8})$/.exec(t);if(n){let o=n[1];if(o.length===3||o.length===4){let[i,r,l,u]=[...o].map(d=>parseInt(d+d,16));return [i,r,l,o.length===4?u/255:1]}if(o.length===6||o.length===8){let i=r=>parseInt(o.slice(r,r+2),16);return [i(0),i(2),i(4),o.length===8?i(6)/255:1]}return null}if(n=/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.]+%?))?\s*\)$/.exec(t),n){let o=n[4]===void 0?1:n[4].endsWith("%")?parseFloat(n[4])/100:parseFloat(n[4]);return [parseFloat(n[1]),parseFloat(n[2]),parseFloat(n[3]),o]}return null}function Gt(e){let t=Mn(e);if(!t)return null;let n=o=>{let i=o/255;return i<=.03928?i/12.92:((i+.055)/1.055)**2.4};return .2126*n(t[0])+.7152*n(t[1])+.0722*n(t[2])}var Ye=e=>(Gt(e)??0)>.5,Tn=e=>Ye(e.text)?"#1d2233":e.text;function j(e){let t=Gt(e);return t===null||t>.35?Se:"none"}function Pn(e,t){let n=l=>t[l]!==void 0,o=[["onGreen","green"],["onGold","gold"],["onBlue","blue"],["onRed","red"]];for(let[l,u]of o)!n(l)&&n(u)&&(e[l]=Ye(e[u])?Tn(e):"#ffffff");let i=n("panel")||n("text")||n("bgTop")||n("bgBottom"),r=Ye(e.panel);i&&r&&!n("shadow")&&(e.shadow="rgba(20, 30, 40, 0.1)"),i&&r&&!n("backdrop")&&(e.backdrop="rgba(20, 35, 40, 0.4)"),!n("panelShadow")&&(i||n("shadow"))&&(e.panelShadow=r?`0 6px 18px ${e.shadow}, 0 1px 0 ${e.shadow}, inset 0 1px 0 rgba(255, 255, 255, 0.7)`:`0 6px 0 ${e.shadow}, inset 0 2px 0 rgba(255, 255, 255, 0.12)`),i&&(n("textOutline")||(e.textOutline=j(e.text)),n("line")||(e.line=r?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.2)"),n("well")||(e.well=r?"rgba(0, 0, 0, 0.06)":"rgba(0, 0, 0, 0.35)"),n("wellSoft")||(e.wellSoft=r?"rgba(0, 0, 0, 0.05)":"rgba(0, 0, 0, 0.3)"),n("wellShadow")||(e.wellShadow=r?"inset 0 1px 2px rgba(0, 0, 0, 0.1)":"inset 0 2px 4px rgba(0, 0, 0, 0.4)"),n("edge")||(e.edge=r?"rgba(0, 0, 0, 0.14)":"rgba(0, 0, 0, 0.35)"),n("glow")||(e.glow=`color-mix(in srgb, ${e.blue} ${r?18:30}%, transparent)`));}function Kt(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function le(e,t){if(!e.enabled||t)return {fast:0,normal:0,slow:0};let n=1/e.speed;return {fast:Math.round(120*n),normal:Math.round(240*n),slow:Math.round(520*n)}}var z={muted:false,volume:1,reducedMotion:false};function Qe(e){if(!e)return {...z};try{let t=JSON.parse(e);return {muted:t.muted===!0,volume:_(Number(t.volume),0,1,z.volume),reducedMotion:t.reducedMotion===!0}}catch{return {...z}}}function Xe(e,t,n=1){return !e.enabled||t.muted?0:_(e.volume*t.volume*n,0,1,0)}var Re={click:{notes:[{freq:1100,slideTo:760,dur:.045,wave:"triangle",gain:.5}]},tab:{notes:[{freq:660,slideTo:880,dur:.06,wave:"sine",gain:.45}]},open:{notes:[{freq:520,dur:.07,wave:"sine",gain:.35},{freq:780,at:.05,dur:.09,wave:"sine",gain:.35}],noise:[{dur:.12,gain:.12,freq:1800,slideTo:4200}]},close:{notes:[{freq:700,slideTo:420,dur:.1,wave:"sine",gain:.3}],noise:[{dur:.1,gain:.08,freq:3e3,slideTo:1200}]},coin:{notes:[{freq:1320,dur:.06,wave:"square",gain:.18},{freq:1760,at:.06,dur:.16,wave:"square",gain:.18}]},reward:{notes:[{freq:523,dur:.09,wave:"triangle",gain:.45},{freq:659,at:.08,dur:.09,wave:"triangle",gain:.45},{freq:784,at:.16,dur:.09,wave:"triangle",gain:.45},{freq:1047,at:.24,dur:.22,wave:"triangle",gain:.5}],noise:[{at:.24,dur:.25,gain:.06,freq:6e3}]},claim:{notes:[{freq:784,dur:.07,wave:"triangle",gain:.45},{freq:1175,at:.07,dur:.16,wave:"triangle",gain:.45}],noise:[{at:.05,dur:.2,gain:.07,freq:7e3}]},purchase:{notes:[{freq:1500,dur:.05,wave:"square",gain:.15},{freq:2e3,at:.05,dur:.18,wave:"square",gain:.15}],noise:[{dur:.08,gain:.25,freq:2500}]},error:{notes:[{freq:220,dur:.1,wave:"square",gain:.2},{freq:175,at:.1,dur:.16,wave:"square",gain:.2}]},notify:{notes:[{freq:880,dur:.12,wave:"sine",gain:.4},{freq:1175,at:.1,dur:.25,wave:"sine",gain:.35}]},lootbox:{noise:[{dur:.45,gain:.18,freq:400,slideTo:5e3}],notes:[{freq:523,at:.42,dur:.3,wave:"triangle",gain:.35},{freq:659,at:.42,dur:.3,wave:"triangle",gain:.3},{freq:784,at:.42,dur:.35,wave:"triangle",gain:.3}]},levelUp:{notes:[{freq:392,dur:.1,wave:"square",gain:.2},{freq:523,at:.1,dur:.1,wave:"square",gain:.2},{freq:659,at:.2,dur:.1,wave:"square",gain:.2},{freq:784,at:.3,dur:.35,wave:"square",gain:.22}]},countTick:{notes:[{freq:2e3,dur:.018,wave:"sine",gain:.12}]}};function _t(e,t){let n=t.events[e];return n===false?{kind:"none"}:n===void 0?{kind:"synth",preset:Re[e],volume:1}:typeof n=="string"?{kind:"synth",preset:je.includes(n)?Re[n]:Re[e],volume:1}:"url"in n?{kind:"file",url:n.url,volume:n.volume??1}:{kind:"synth",preset:n.synth,volume:n.volume??1}}var En={countTick:45,coin:60,click:30},ue=class{constructor(t,n){this.config=t;this.prefs=n;}config;prefs;ctx=null;unlocked=false;buffers=new Map;lastPlayed=new Map;detach=null;update(t,n){this.config=t,this.prefs=n;}attach(t=typeof window<"u"?window:void 0){if(!t||this.detach)return;let n=()=>{this.unlocked=true;let i=this.context();i&&i.state==="suspended"&&i.resume();},o=["pointerdown","keydown","touchstart"];for(let i of o)t.addEventListener(i,n,{passive:true});this.detach=()=>{for(let i of o)t.removeEventListener(i,n);};}dispose(){this.detach?.(),this.detach=null,this.ctx?.close(),this.ctx=null;}play(t){if(!this.unlocked)return;let n=En[t],o=typeof performance<"u"?performance.now():Date.now();if(n&&o-(this.lastPlayed.get(t)??-1/0)<n)return;this.lastPlayed.set(t,o);let i=_t(t,this.config);if(i.kind==="none")return;let r=Xe(this.config,this.prefs,i.volume);if(r<=0)return;let l=this.context();l&&(i.kind==="synth"?this.playSynth(l,i.preset,r):this.playFile(l,i.url,r));}context(){if(this.ctx)return this.ctx;let t=typeof window<"u"?window.AudioContext??window.webkitAudioContext:void 0;if(!t)return null;try{this.ctx=new t;}catch{return null}return this.ctx}playSynth(t,n,o){let i=t.currentTime+.005,r=t.createGain();r.gain.value=o,r.connect(t.destination);for(let l of n.notes??[]){let u=i+(l.at??0),d=u+Math.max(.01,l.dur),p=t.createOscillator();p.type=l.wave??"sine",p.frequency.setValueAtTime(l.freq,u),l.slideTo&&p.frequency.exponentialRampToValueAtTime(Math.max(20,l.slideTo),d);let c=t.createGain(),f=Math.max(1e-4,l.gain??.4);c.gain.setValueAtTime(1e-4,u),c.gain.exponentialRampToValueAtTime(f,u+Math.min(.012,l.dur/3)),c.gain.exponentialRampToValueAtTime(1e-4,d),p.connect(c).connect(r),p.start(u),p.stop(d+.02);}for(let l of n.noise??[]){let u=i+(l.at??0),d=Math.max(.01,l.dur),p=t.createBuffer(1,Math.ceil(t.sampleRate*d),t.sampleRate),c=p.getChannelData(0);for(let C=0;C<c.length;C++)c[C]=Math.random()*2-1;let f=t.createBufferSource();f.buffer=p;let g=t.createBiquadFilter();g.type="bandpass",g.Q.value=1.2,g.frequency.setValueAtTime(l.freq??3e3,u),l.slideTo&&g.frequency.exponentialRampToValueAtTime(Math.max(20,l.slideTo),u+d);let v=t.createGain();v.gain.setValueAtTime(Math.max(1e-4,l.gain??.15),u),v.gain.exponentialRampToValueAtTime(1e-4,u+d),f.connect(g).connect(v).connect(r),f.start(u),f.stop(u+d+.02);}}async playFile(t,n,o){let i=this.buffers.get(n);i||(i=fetch(n).then(d=>d.ok?d.arrayBuffer():Promise.reject(new Error(String(d.status)))).then(d=>t.decodeAudioData(d)).catch(()=>null),this.buffers.set(n,i));let r=await i;if(!r)return;let l=t.createBufferSource();l.buffer=r;let u=t.createGain();u.gain.value=o,l.connect(u).connect(t.destination),l.start();}};var Je={info:3500,success:3e3,reward:4500,warning:5500,error:6500},Un={info:"notify",success:"notify",warning:"notify",error:"error",reward:"reward"},Le=class{toastList=[];alertQueue=[];waiting=new Map;listeners=new Set;nextId=1;player=null;resolver=null;get toasts(){return this.toastList}get currentAlert(){return this.alertQueue[0]??null}get queued(){return Math.max(0,this.alertQueue.length-1)}subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));setPlayer(t){this.player=t;}setSourceResolver(t){this.resolver=t,this.emit();}source(t){if(!t)return null;try{return this.resolver?.(t)??null}catch{return null}}toast(t){let n=typeof t=="string"?{message:t}:t,o=n.level??"info",i=n.key?this.toastList.find(u=>u.input.key===n.key):void 0,r=i??(n.key?void 0:this.toastList.find(u=>!u.input.key&&u.level===o&&u.input.title===n.title&&u.input.message===n.message));if(r){let u={...r,level:o,input:n,count:i?r.count:r.count+1,revision:r.revision+1};return this.toastList=[...this.toastList.filter(d=>d.id!==r.id),u],this.play(o),this.emit(),r.id}let l={id:`n${this.nextId++}`,kind:"toast",level:o,input:n,count:1,revision:0};return this.toastList=[...this.toastList,l].slice(-3),this.play(o),this.emit(),l.id}alert(t){let n=t.level??"info";if(t.key){let i=this.alertQueue.find(r=>r.input.key===t.key);if(i)return this.alertQueue=this.alertQueue.map(r=>r.id===i.id?{...r,level:n,input:t,revision:r.revision+1}:r),this.emit(),new Promise(r=>{let l=this.waiting.get(i.id);this.waiting.set(i.id,u=>{l?.(u),r(u);});})}let o={id:`n${this.nextId++}`,kind:"alert",level:n,input:t,count:1,revision:0};return this.alertQueue=[...this.alertQueue,o],this.emit(),new Promise(i=>this.waiting.set(o.id,i))}dismiss(t,n=null){if(this.toastList.some(r=>r.id===t)){this.toastList=this.toastList.filter(r=>r.id!==t),this.emit();return}let o=this.alertQueue.length;if(this.alertQueue=this.alertQueue.filter(r=>r.id!==t),this.alertQueue.length===o)return;let i=this.waiting.get(t);this.waiting.delete(t),i?.(n),this.emit();}clear(){for(let t of this.waiting.values())t(null);this.waiting.clear(),this.toastList=[],this.alertQueue=[],this.emit();}play(t){this.player?.(Un[t]);}emit(){for(let t of [...this.listeners])t();}};function Ze(){return new Le}function et(e,t){let n=e.theme,o=le(e.motion,t),i=e.motion.enabled&&!t;return {"--idos-ui-bg-top":n.bgTop,"--idos-ui-bg-bottom":n.bgBottom,"--idos-ui-panel":n.panel,"--idos-ui-panel-deep":n.panelDeep,"--idos-ui-panel-edge":n.panelEdge,"--idos-ui-text":n.text,"--idos-ui-text-dim":n.textDim,"--idos-ui-gold":n.gold,"--idos-ui-gold-deep":n.goldDeep,"--idos-ui-green":n.green,"--idos-ui-green-deep":n.greenDeep,"--idos-ui-blue":n.blue,"--idos-ui-blue-deep":n.blueDeep,"--idos-ui-red":n.red,"--idos-ui-red-deep":n.redDeep,"--idos-ui-shadow":n.shadow,"--idos-ui-backdrop":n.backdrop,"--idos-ui-on-green":n.onGreen,"--idos-ui-on-gold":n.onGold,"--idos-ui-on-blue":n.onBlue,"--idos-ui-on-red":n.onRed,"--idos-ui-on-green-outline":j(n.onGreen),"--idos-ui-on-gold-outline":j(n.onGold),"--idos-ui-on-blue-outline":j(n.onBlue),"--idos-ui-on-red-outline":j(n.onRed),"--idos-ui-text-outline":n.textOutline,"--idos-ui-line":n.line,"--idos-ui-well":n.well,"--idos-ui-well-soft":n.wellSoft,"--idos-ui-well-shadow":n.wellShadow,"--idos-ui-edge":n.edge,"--idos-ui-glow":n.glow,"--idos-ui-panel-shadow":n.panelShadow,"--idos-ui-radius":`${n.radius}px`,"--idos-ui-button-radius":`${n.buttonRadius}px`,"--idos-ui-font":n.font,"--idos-ui-fast":`${o.fast}ms`,"--idos-ui-normal":`${o.normal}ms`,"--idos-ui-slow":`${o.slow}ms`,"--idos-ui-k":String(i?e.motion.intensity:0)}}var a={bgTop:"var(--idos-ui-bg-top)",bgBottom:"var(--idos-ui-bg-bottom)",panel:"var(--idos-ui-panel)",panelDeep:"var(--idos-ui-panel-deep)",panelEdge:"var(--idos-ui-panel-edge)",text:"var(--idos-ui-text)",textDim:"var(--idos-ui-text-dim)",gold:"var(--idos-ui-gold)",goldDeep:"var(--idos-ui-gold-deep)",green:"var(--idos-ui-green)",greenDeep:"var(--idos-ui-green-deep)",blue:"var(--idos-ui-blue)",blueDeep:"var(--idos-ui-blue-deep)",red:"var(--idos-ui-red)",redDeep:"var(--idos-ui-red-deep)",shadow:"var(--idos-ui-shadow)",backdrop:"var(--idos-ui-backdrop)",onGreen:"var(--idos-ui-on-green)",onGold:"var(--idos-ui-on-gold)",onBlue:"var(--idos-ui-on-blue)",onRed:"var(--idos-ui-on-red)",onGreenOutline:"var(--idos-ui-on-green-outline)",onGoldOutline:"var(--idos-ui-on-gold-outline)",onBlueOutline:"var(--idos-ui-on-blue-outline)",onRedOutline:"var(--idos-ui-on-red-outline)",textOutline:"var(--idos-ui-text-outline)",line:"var(--idos-ui-line)",well:"var(--idos-ui-well)",wellSoft:"var(--idos-ui-well-soft)",wellShadow:"var(--idos-ui-well-shadow)",edge:"var(--idos-ui-edge)",glow:"var(--idos-ui-glow)",panelShadow:"var(--idos-ui-panel-shadow)",radius:"var(--idos-ui-radius)",buttonRadius:"var(--idos-ui-button-radius)",font:"var(--idos-ui-font)",fast:"var(--idos-ui-fast)",normal:"var(--idos-ui-normal)",slow:"var(--idos-ui-slow)"},x={color:a.text,fontWeight:800,textShadow:a.textOutline,letterSpacing:.2},I={background:`linear-gradient(180deg, ${a.panel} 0%, ${a.panelDeep} 100%)`,border:`2px solid ${a.panelEdge}`,borderRadius:a.radius,boxShadow:a.panelShadow},tt=`radial-gradient(120% 60% at 50% 0%, ${a.glow} 0%, transparent 60%), linear-gradient(180deg, ${a.bgTop} 0%, ${a.bgBottom} 100%)`,Ne={background:a.well,border:`2px solid ${a.panelEdge}`,boxShadow:a.wellShadow},de="cubic-bezier(.2, .9, .3, 1.25)",W="cubic-bezier(.2, .8, .2, 1)",ce="cubic-bezier(.5, 0, .75, .2)",nt=`
|
|
1
|
+
import {c}from'../chunk-UYRDWMMD.js';import {createContext,useContext,useMemo,useState,useCallback,useRef,useEffect,useReducer,useLayoutEffect,useSyncExternalStore}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {createPortal}from'react-dom';var ot=["click","tab","open","close","reward","coin","purchase","claim","error","notify","lootbox","levelUp","countTick"];function _n(e){return e}var Le="0 2px 0 rgba(0,0,0,.45), 0 0 1px rgba(0,0,0,.6)",Zt={theme:{bgTop:"#232a6b",bgBottom:"#0d1033",panel:"#2c3480",panelDeep:"#1d2360",panelEdge:"#4f5bc9",text:"#ffffff",textDim:"#aeb6f0",gold:"#ffd24a",goldDeep:"#e89a12",green:"#59d35b",greenDeep:"#2b9936",blue:"#4fb1ff",blueDeep:"#2276d6",red:"#ff5a5a",redDeep:"#b83232",shadow:"rgba(4, 6, 30, 0.55)",backdrop:"rgba(5, 7, 30, 0.72)",onGreen:"#ffffff",onGold:"#ffffff",onBlue:"#ffffff",onRed:"#ffffff",textOutline:Le,line:"rgba(255, 255, 255, 0.2)",well:"rgba(8, 10, 40, 0.6)",wellSoft:"rgba(0, 0, 0, 0.3)",wellShadow:"inset 0 2px 4px rgba(0, 0, 0, 0.4)",edge:"rgba(0, 0, 0, 0.35)",glow:"rgba(90, 110, 255, 0.35)",panelShadow:"0 6px 0 rgba(4, 6, 30, 0.55), inset 0 2px 0 rgba(255, 255, 255, 0.12)",radius:18,buttonRadius:14,font:"'Baloo 2', 'Nunito', 'Trebuchet MS', system-ui, sans-serif",rarity:{Common:"#a9b3c9",Uncommon:"#63d86b",Rare:"#4fb1ff",Epic:"#b879ff",Legendary:"#ffb52e"}},motion:{enabled:true,speed:1,intensity:1,rewardFlight:true,particles:true,stagger:true,respectReducedMotion:true},sound:{enabled:true,volume:.6,events:{}}},Y=(e,t,n,o)=>typeof e=="number"&&Number.isFinite(e)?Math.min(n,Math.max(t,e)):o;function Ne(e){let t=Zt,n={...t.theme,...Xt(e?.theme??{})};n.rarity={...t.theme.rarity,...e?.theme?.rarity??{}},Hn(n,e?.theme??{}),n.radius=Y(n.radius,0,64,t.theme.radius),n.buttonRadius=Y(n.buttonRadius,0,64,t.theme.buttonRadius);let o={...t.motion,...Xt(e?.motion??{})};o.speed=Y(o.speed,.1,5,t.motion.speed),o.intensity=Y(o.intensity,0,3,t.motion.intensity);let i=e?.sound??{},r={enabled:i.enabled??t.sound.enabled,volume:Y(i.volume??t.sound.volume,0,1,t.sound.volume),events:{...t.sound.events,...i.events??{}}};return {theme:n,motion:o,sound:r}}function Wn(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase(),n=/^#([0-9a-f]{3,8})$/.exec(t);if(n){let o=n[1];if(o.length===3||o.length===4){let[i,r,a,d]=[...o].map(u=>parseInt(u+u,16));return [i,r,a,o.length===4?d/255:1]}if(o.length===6||o.length===8){let i=r=>parseInt(o.slice(r,r+2),16);return [i(0),i(2),i(4),o.length===8?i(6)/255:1]}return null}if(n=/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.]+%?))?\s*\)$/.exec(t),n){let o=n[4]===void 0?1:n[4].endsWith("%")?parseFloat(n[4])/100:parseFloat(n[4]);return [parseFloat(n[1]),parseFloat(n[2]),parseFloat(n[3]),o]}return null}function Jt(e){let t=Wn(e);if(!t)return null;let n=o=>{let i=o/255;return i<=.03928?i/12.92:((i+.055)/1.055)**2.4};return .2126*n(t[0])+.7152*n(t[1])+.0722*n(t[2])}var nt=e=>(Jt(e)??0)>.5,Gn=e=>nt(e.text)?"#1d2233":e.text;function ee(e){let t=Jt(e);return t===null||t>.35?Le:"none"}function Hn(e,t){let n=a=>t[a]!==void 0,o=[["onGreen","green"],["onGold","gold"],["onBlue","blue"],["onRed","red"]];for(let[a,d]of o)!n(a)&&n(d)&&(e[a]=nt(e[d])?Gn(e):"#ffffff");let i=n("panel")||n("text")||n("bgTop")||n("bgBottom"),r=nt(e.panel);i&&r&&!n("shadow")&&(e.shadow="rgba(20, 30, 40, 0.1)"),i&&r&&!n("backdrop")&&(e.backdrop="rgba(20, 35, 40, 0.4)"),!n("panelShadow")&&(i||n("shadow"))&&(e.panelShadow=r?`0 6px 18px ${e.shadow}, 0 1px 0 ${e.shadow}, inset 0 1px 0 rgba(255, 255, 255, 0.7)`:`0 6px 0 ${e.shadow}, inset 0 2px 0 rgba(255, 255, 255, 0.12)`),i&&(n("textOutline")||(e.textOutline=ee(e.text)),n("line")||(e.line=r?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.2)"),n("well")||(e.well=r?"rgba(0, 0, 0, 0.06)":"rgba(0, 0, 0, 0.35)"),n("wellSoft")||(e.wellSoft=r?"rgba(0, 0, 0, 0.05)":"rgba(0, 0, 0, 0.3)"),n("wellShadow")||(e.wellShadow=r?"inset 0 1px 2px rgba(0, 0, 0, 0.1)":"inset 0 2px 4px rgba(0, 0, 0, 0.4)"),n("edge")||(e.edge=r?"rgba(0, 0, 0, 0.14)":"rgba(0, 0, 0, 0.35)"),n("glow")||(e.glow=`color-mix(in srgb, ${e.blue} ${r?18:30}%, transparent)`));}function Xt(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function pe(e,t){if(!e.enabled||t)return {fast:0,normal:0,slow:0};let n=1/e.speed;return {fast:Math.round(120*n),normal:Math.round(240*n),slow:Math.round(520*n)}}var H={muted:false,volume:1,reducedMotion:false};function it(e){if(!e)return {...H};try{let t=JSON.parse(e);return {muted:t.muted===!0,volume:Y(Number(t.volume),0,1,H.volume),reducedMotion:t.reducedMotion===!0}}catch{return {...H}}}function rt(e,t,n=1){return !e.enabled||t.muted?0:Y(e.volume*t.volume*n,0,1,0)}var Me={click:{notes:[{freq:1100,slideTo:760,dur:.045,wave:"triangle",gain:.5}]},tab:{notes:[{freq:660,slideTo:880,dur:.06,wave:"sine",gain:.45}]},open:{notes:[{freq:520,dur:.07,wave:"sine",gain:.35},{freq:780,at:.05,dur:.09,wave:"sine",gain:.35}],noise:[{dur:.12,gain:.12,freq:1800,slideTo:4200}]},close:{notes:[{freq:700,slideTo:420,dur:.1,wave:"sine",gain:.3}],noise:[{dur:.1,gain:.08,freq:3e3,slideTo:1200}]},coin:{notes:[{freq:1320,dur:.06,wave:"square",gain:.18},{freq:1760,at:.06,dur:.16,wave:"square",gain:.18}]},reward:{notes:[{freq:523,dur:.09,wave:"triangle",gain:.45},{freq:659,at:.08,dur:.09,wave:"triangle",gain:.45},{freq:784,at:.16,dur:.09,wave:"triangle",gain:.45},{freq:1047,at:.24,dur:.22,wave:"triangle",gain:.5}],noise:[{at:.24,dur:.25,gain:.06,freq:6e3}]},claim:{notes:[{freq:784,dur:.07,wave:"triangle",gain:.45},{freq:1175,at:.07,dur:.16,wave:"triangle",gain:.45}],noise:[{at:.05,dur:.2,gain:.07,freq:7e3}]},purchase:{notes:[{freq:1500,dur:.05,wave:"square",gain:.15},{freq:2e3,at:.05,dur:.18,wave:"square",gain:.15}],noise:[{dur:.08,gain:.25,freq:2500}]},error:{notes:[{freq:220,dur:.1,wave:"square",gain:.2},{freq:175,at:.1,dur:.16,wave:"square",gain:.2}]},notify:{notes:[{freq:880,dur:.12,wave:"sine",gain:.4},{freq:1175,at:.1,dur:.25,wave:"sine",gain:.35}]},lootbox:{noise:[{dur:.45,gain:.18,freq:400,slideTo:5e3}],notes:[{freq:523,at:.42,dur:.3,wave:"triangle",gain:.35},{freq:659,at:.42,dur:.3,wave:"triangle",gain:.3},{freq:784,at:.42,dur:.35,wave:"triangle",gain:.3}]},levelUp:{notes:[{freq:392,dur:.1,wave:"square",gain:.2},{freq:523,at:.1,dur:.1,wave:"square",gain:.2},{freq:659,at:.2,dur:.1,wave:"square",gain:.2},{freq:784,at:.3,dur:.35,wave:"square",gain:.22}]},countTick:{notes:[{freq:2e3,dur:.018,wave:"sine",gain:.12}]}};function en(e,t){let n=t.events[e];return n===false?{kind:"none"}:n===void 0?{kind:"synth",preset:Me[e],volume:1}:typeof n=="string"?{kind:"synth",preset:ot.includes(n)?Me[n]:Me[e],volume:1}:"url"in n?{kind:"file",url:n.url,volume:n.volume??1}:{kind:"synth",preset:n.synth,volume:n.volume??1}}var qn={countTick:45,coin:60,click:30},ge=class{constructor(t,n){this.config=t;this.prefs=n;}config;prefs;ctx=null;unlocked=false;buffers=new Map;lastPlayed=new Map;detach=null;update(t,n){this.config=t,this.prefs=n;}attach(t=typeof window<"u"?window:void 0){if(!t||this.detach)return;let n=()=>{this.unlocked=true;let i=this.context();i&&i.state==="suspended"&&i.resume();},o=["pointerdown","keydown","touchstart"];for(let i of o)t.addEventListener(i,n,{passive:true});this.detach=()=>{for(let i of o)t.removeEventListener(i,n);};}dispose(){this.detach?.(),this.detach=null,this.ctx?.close(),this.ctx=null;}play(t){if(!this.unlocked)return;let n=qn[t],o=typeof performance<"u"?performance.now():Date.now();if(n&&o-(this.lastPlayed.get(t)??-1/0)<n)return;this.lastPlayed.set(t,o);let i=en(t,this.config);if(i.kind==="none")return;let r=rt(this.config,this.prefs,i.volume);if(r<=0)return;let a=this.context();a&&(i.kind==="synth"?this.playSynth(a,i.preset,r):this.playFile(a,i.url,r));}context(){if(this.ctx)return this.ctx;let t=typeof window<"u"?window.AudioContext??window.webkitAudioContext:void 0;if(!t)return null;try{this.ctx=new t;}catch{return null}return this.ctx}playSynth(t,n,o){let i=t.currentTime+.005,r=t.createGain();r.gain.value=o,r.connect(t.destination);for(let a of n.notes??[]){let d=i+(a.at??0),u=d+Math.max(.01,a.dur),m=t.createOscillator();m.type=a.wave??"sine",m.frequency.setValueAtTime(a.freq,d),a.slideTo&&m.frequency.exponentialRampToValueAtTime(Math.max(20,a.slideTo),u);let c=t.createGain(),g=Math.max(1e-4,a.gain??.4);c.gain.setValueAtTime(1e-4,d),c.gain.exponentialRampToValueAtTime(g,d+Math.min(.012,a.dur/3)),c.gain.exponentialRampToValueAtTime(1e-4,u),m.connect(c).connect(r),m.start(d),m.stop(u+.02);}for(let a of n.noise??[]){let d=i+(a.at??0),u=Math.max(.01,a.dur),m=t.createBuffer(1,Math.ceil(t.sampleRate*u),t.sampleRate),c=m.getChannelData(0);for(let h=0;h<c.length;h++)c[h]=Math.random()*2-1;let g=t.createBufferSource();g.buffer=m;let y=t.createBiquadFilter();y.type="bandpass",y.Q.value=1.2,y.frequency.setValueAtTime(a.freq??3e3,d),a.slideTo&&y.frequency.exponentialRampToValueAtTime(Math.max(20,a.slideTo),d+u);let p=t.createGain();p.gain.setValueAtTime(Math.max(1e-4,a.gain??.15),d),p.gain.exponentialRampToValueAtTime(1e-4,d+u),g.connect(y).connect(p).connect(r),g.start(d),g.stop(d+u+.02);}}async playFile(t,n,o){let i=this.buffers.get(n);i||(i=fetch(n).then(u=>u.ok?u.arrayBuffer():Promise.reject(new Error(String(u.status)))).then(u=>t.decodeAudioData(u)).catch(()=>null),this.buffers.set(n,i));let r=await i;if(!r)return;let a=t.createBufferSource();a.buffer=r;let d=t.createGain();d.gain.value=o,a.connect(d).connect(t.destination),a.start();}};var at={info:3500,success:3e3,reward:4500,warning:5500,error:6500},Vn={info:"notify",success:"notify",warning:"notify",error:"error",reward:"reward"},Te=class{toastList=[];alertQueue=[];waiting=new Map;listeners=new Set;nextId=1;player=null;resolver=null;get toasts(){return this.toastList}get currentAlert(){return this.alertQueue[0]??null}get queued(){return Math.max(0,this.alertQueue.length-1)}subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));setPlayer(t){this.player=t;}setSourceResolver(t){this.resolver=t,this.emit();}source(t){if(!t)return null;try{return this.resolver?.(t)??null}catch{return null}}toast(t){let n=typeof t=="string"?{message:t}:t,o=n.level??"info",i=n.key?this.toastList.find(d=>d.input.key===n.key):void 0,r=i??(n.key?void 0:this.toastList.find(d=>!d.input.key&&d.level===o&&d.input.title===n.title&&d.input.message===n.message));if(r){let d={...r,level:o,input:n,count:i?r.count:r.count+1,revision:r.revision+1};return this.toastList=[...this.toastList.filter(u=>u.id!==r.id),d],this.play(o),this.emit(),r.id}let a={id:`n${this.nextId++}`,kind:"toast",level:o,input:n,count:1,revision:0};return this.toastList=[...this.toastList,a].slice(-3),this.play(o),this.emit(),a.id}alert(t){let n=t.level??"info";if(t.key){let i=this.alertQueue.find(r=>r.input.key===t.key);if(i)return this.alertQueue=this.alertQueue.map(r=>r.id===i.id?{...r,level:n,input:t,revision:r.revision+1}:r),this.emit(),new Promise(r=>{let a=this.waiting.get(i.id);this.waiting.set(i.id,d=>{a?.(d),r(d);});})}let o={id:`n${this.nextId++}`,kind:"alert",level:n,input:t,count:1,revision:0};return this.alertQueue=[...this.alertQueue,o],this.emit(),new Promise(i=>this.waiting.set(o.id,i))}dismiss(t,n=null){if(this.toastList.some(r=>r.id===t)){this.toastList=this.toastList.filter(r=>r.id!==t),this.emit();return}let o=this.alertQueue.length;if(this.alertQueue=this.alertQueue.filter(r=>r.id!==t),this.alertQueue.length===o)return;let i=this.waiting.get(t);this.waiting.delete(t),i?.(n),this.emit();}clear(){for(let t of this.waiting.values())t(null);this.waiting.clear(),this.toastList=[],this.alertQueue=[],this.emit();}play(t){this.player?.(Vn[t]);}emit(){for(let t of [...this.listeners])t();}};function st(){return new Te}function lt(e,t){let n=e.theme,o=pe(e.motion,t),i=e.motion.enabled&&!t;return {"--idos-ui-bg-top":n.bgTop,"--idos-ui-bg-bottom":n.bgBottom,"--idos-ui-panel":n.panel,"--idos-ui-panel-deep":n.panelDeep,"--idos-ui-panel-edge":n.panelEdge,"--idos-ui-text":n.text,"--idos-ui-text-dim":n.textDim,"--idos-ui-gold":n.gold,"--idos-ui-gold-deep":n.goldDeep,"--idos-ui-green":n.green,"--idos-ui-green-deep":n.greenDeep,"--idos-ui-blue":n.blue,"--idos-ui-blue-deep":n.blueDeep,"--idos-ui-red":n.red,"--idos-ui-red-deep":n.redDeep,"--idos-ui-shadow":n.shadow,"--idos-ui-backdrop":n.backdrop,"--idos-ui-on-green":n.onGreen,"--idos-ui-on-gold":n.onGold,"--idos-ui-on-blue":n.onBlue,"--idos-ui-on-red":n.onRed,"--idos-ui-on-green-outline":ee(n.onGreen),"--idos-ui-on-gold-outline":ee(n.onGold),"--idos-ui-on-blue-outline":ee(n.onBlue),"--idos-ui-on-red-outline":ee(n.onRed),"--idos-ui-text-outline":n.textOutline,"--idos-ui-line":n.line,"--idos-ui-well":n.well,"--idos-ui-well-soft":n.wellSoft,"--idos-ui-well-shadow":n.wellShadow,"--idos-ui-edge":n.edge,"--idos-ui-glow":n.glow,"--idos-ui-panel-shadow":n.panelShadow,"--idos-ui-radius":`${n.radius}px`,"--idos-ui-button-radius":`${n.buttonRadius}px`,"--idos-ui-font":n.font,"--idos-ui-fast":`${o.fast}ms`,"--idos-ui-normal":`${o.normal}ms`,"--idos-ui-slow":`${o.slow}ms`,"--idos-ui-k":String(i?e.motion.intensity:0)}}var l={bgTop:"var(--idos-ui-bg-top)",bgBottom:"var(--idos-ui-bg-bottom)",panel:"var(--idos-ui-panel)",panelDeep:"var(--idos-ui-panel-deep)",panelEdge:"var(--idos-ui-panel-edge)",text:"var(--idos-ui-text)",textDim:"var(--idos-ui-text-dim)",gold:"var(--idos-ui-gold)",goldDeep:"var(--idos-ui-gold-deep)",green:"var(--idos-ui-green)",greenDeep:"var(--idos-ui-green-deep)",blue:"var(--idos-ui-blue)",blueDeep:"var(--idos-ui-blue-deep)",red:"var(--idos-ui-red)",redDeep:"var(--idos-ui-red-deep)",shadow:"var(--idos-ui-shadow)",backdrop:"var(--idos-ui-backdrop)",onGreen:"var(--idos-ui-on-green)",onGold:"var(--idos-ui-on-gold)",onBlue:"var(--idos-ui-on-blue)",onRed:"var(--idos-ui-on-red)",onGreenOutline:"var(--idos-ui-on-green-outline)",onGoldOutline:"var(--idos-ui-on-gold-outline)",onBlueOutline:"var(--idos-ui-on-blue-outline)",onRedOutline:"var(--idos-ui-on-red-outline)",textOutline:"var(--idos-ui-text-outline)",line:"var(--idos-ui-line)",well:"var(--idos-ui-well)",wellSoft:"var(--idos-ui-well-soft)",wellShadow:"var(--idos-ui-well-shadow)",edge:"var(--idos-ui-edge)",glow:"var(--idos-ui-glow)",panelShadow:"var(--idos-ui-panel-shadow)",radius:"var(--idos-ui-radius)",buttonRadius:"var(--idos-ui-button-radius)",font:"var(--idos-ui-font)",fast:"var(--idos-ui-fast)",normal:"var(--idos-ui-normal)",slow:"var(--idos-ui-slow)"},C={color:l.text,fontWeight:800,textShadow:l.textOutline,letterSpacing:.2},O={background:`linear-gradient(180deg, ${l.panel} 0%, ${l.panelDeep} 100%)`,border:`2px solid ${l.panelEdge}`,borderRadius:l.radius,boxShadow:l.panelShadow},dt=`radial-gradient(120% 60% at 50% 0%, ${l.glow} 0%, transparent 60%), linear-gradient(180deg, ${l.bgTop} 0%, ${l.bgBottom} 100%)`,Ue={background:l.well,border:`2px solid ${l.panelEdge}`,boxShadow:l.wellShadow},me="cubic-bezier(.2, .9, .3, 1.25)",j="cubic-bezier(.2, .8, .2, 1)",ye="cubic-bezier(.5, 0, .75, .2)",ut=`
|
|
2
2
|
@keyframes idos-pop-in { 0% { transform: scale(.7); opacity: 0 } 65% { transform: scale(calc(1 + .06 * var(--idos-ui-k, 1))); opacity: 1 } 100% { transform: scale(1); opacity: 1 } }
|
|
3
3
|
@keyframes idos-pop-out { 0% { transform: scale(1); opacity: 1 } 30% { transform: scale(calc(1 + .03 * var(--idos-ui-k, 1))) } 100% { transform: scale(.75); opacity: 0 } }
|
|
4
4
|
@keyframes idos-fade-in { from { opacity: 0 } to { opacity: 1 } }
|
|
@@ -36,4 +36,10 @@ import {c}from'../chunk-UYRDWMMD.js';import {createContext,useContext,useMemo,us
|
|
|
36
36
|
.idos-scroll::-webkit-scrollbar { width: 6px; height: 6px }
|
|
37
37
|
.idos-scroll::-webkit-scrollbar-thumb { background: var(--idos-ui-panel-edge); border-radius: 3px }
|
|
38
38
|
[data-idos-motion="off"] .idos-shine::after, [data-idos-motion="off"] .idos-bounce, [data-idos-motion="off"] .idos-glow, [data-idos-motion="off"] .idos-pulse, [data-idos-motion="off"] .idos-bump { animation: none }
|
|
39
|
-
`;function Wt(e){return !Number.isFinite(e)||e<=0?0:Math.max(2,Math.min(8,Math.ceil(Math.log2(e+1))))}function qt(e){return e.kind==="currency"?[e.id]:e.kind==="item"?[`item:${e.id}`,"inventory"]:[]}var Q=class{listeners=new Set;nextKey=1;motion=null;player=null;layerEl=null;holds=new Map;reserved=new Map;flights=[];bursts=[];version=0;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));setMotion(t){this.motion=t;}setPlayer(t){this.player=t;}setLayer(t){this.layerEl=t;}holding(t){return (this.holds.get(t)??0)+(this.reserved.get(t)??0)}reserve(t){if(this.motion?.rewardFlight){for(let n of t)n.kind==="currency"&&this.reserved.set(n.id,(this.reserved.get(n.id)??0)+1);this.changed();}}release(t){let n=false;for(let o of t){if(o.kind!=="currency")continue;let i=(this.reserved.get(o.id)??0)-1;i<=0?this.reserved.delete(o.id):this.reserved.set(o.id,i),n=true;}n&&this.changed();}fly(t,n){if(!this.motion?.rewardFlight||!this.layerEl||typeof document>"u")return;let o=this.layerEl.getBoundingClientRect(),i=Math.max(200,this.motion.durations.slow+180),r=[];for(let l of t){let u=qt(l).map(g=>({key:g,el:document.querySelector(`[data-resource-counter="${Vt(g)}"]`)})).find(g=>g.el&&An(g.el));if(!u?.el)continue;let d=ot(u.el.getBoundingClientRect(),o),p=n(l),c=p?ot(p,o):{x:o.width/2,y:o.height/2},f=Wt(l.amount);for(let g=0;g<f;g++)r.push({key:this.nextKey++,line:l,from:{x:c.x+(Math.random()-.5)*36,y:c.y+(Math.random()-.5)*36},to:d,delayMs:g*55,durationMs:i,target:u.key}),this.holds.set(u.key,(this.holds.get(u.key)??0)+1);}this.release(t),r.length!==0&&(this.flights=[...this.flights,...r],this.changed());}arrive(t){let n=this.flights.find(i=>i.key===t);if(!n)return;this.flights=this.flights.filter(i=>i.key!==t);let o=(this.holds.get(n.target)??1)-1;o<=0?(this.holds.delete(n.target),Dn(n.target)):this.holds.set(n.target,o),this.player?.(n.line.kind==="currency"?"coin":"countTick"),this.changed();}burst(t){if(!this.motion?.particles||!this.layerEl||!t)return;let n=ot(t.getBoundingClientRect(),this.layerEl.getBoundingClientRect()),o=this.nextKey++;this.bursts=[...this.bursts,{key:o,at:n}],this.changed(),setTimeout(()=>{this.bursts=this.bursts.filter(i=>i.key!==o),this.changed();},900);}changed(){this.version+=1;for(let t of this.listeners)t();}};function ot(e,t){return {x:e.left-t.left+e.width/2,y:e.top-t.top+e.height/2}}function An(e){let t=e.getBoundingClientRect();return t.width>0&&t.height>0}function Dn(e){if(!(typeof document>"u"))for(let t of document.querySelectorAll(`[data-resource-counter="${Vt(e)}"]`))t.classList.remove("idos-bump"),t.offsetWidth,t.classList.add("idos-bump");}function Vt(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}var Ht=".idos-bounce, .idos-shine, .idos-glow, .idos-pulse",Yt="data-idos-idle",X=(e,t)=>e+Math.random()*(t-e);function jt(e){if(!(e instanceof HTMLElement)||e.hasAttribute(Yt))return;e.setAttribute(Yt,"");let t=e.style,n=X(1.6,2.8);t.setProperty("--idos-float-speed",n.toFixed(2)),t.setProperty("--idos-float-phase",(-X(0,n)).toFixed(2)),t.setProperty("--idos-float-amp",X(3,7).toFixed(1)),t.setProperty("--idos-float-tilt",((Math.random()<.5?-1:1)*X(0,1.5)).toFixed(2));let o=X(5,7.5);t.setProperty("--idos-shine-speed",o.toFixed(2)),t.setProperty("--idos-shine-phase",(-X(0,o)).toFixed(2));}function it(e){e instanceof Element&&(e.matches(Ht)&&jt(e),e.querySelectorAll(Ht).forEach(jt));}function Qt(e){if(typeof MutationObserver>"u")return ()=>{};it(e);let t=new MutationObserver(n=>{for(let o of n)o.type==="attributes"?it(o.target):o.addedNodes.forEach(it);});return t.observe(e,{subtree:true,childList:true,attributes:true,attributeFilter:["class"]}),()=>t.disconnect()}var Jt="idos-ui-prefs";function Kn(){try{return Qe(typeof localStorage<"u"?localStorage.getItem(Jt):null)}catch{return {...z}}}function Fn(){try{return typeof matchMedia<"u"&&matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return false}}function Zt(e,t){let n=t.reducedMotion||e.motion.respectReducedMotion&&Fn(),o=e.motion.enabled&&!n;return {on:o,durations:le(e.motion,n),intensity:o?e.motion.intensity:0,rewardFlight:o&&e.motion.rewardFlight,particles:o&&e.motion.particles,stagger:o&&e.motion.stagger}}var Xt=Ce(null),Gn=new Q,_n={config:Xt,prefs:z,setPrefs:()=>{},motion:Zt(Xt,z),play:()=>{},layer:null,fx:Gn,celebrate:()=>{},toast:()=>{},notify:{toast:()=>"",alert:()=>Promise.resolve(null),dismiss:()=>{}},provided:false},en=createContext(_n);function k(){return useContext(en)}function Wn(){return k().play}function qn(){return k().motion}function Vn(){let e=k();return [e.prefs,e.setPrefs]}function Hn(){return k().celebrate}function Yn(){return k().toast}function jn(){return k().notify}function Qn({config:e,children:t,overlays:n,notifications:o}){let i=useMemo(()=>Ce(e),[e]),[r,l]=useState(Kn),u=useCallback(S=>{l(Y=>{let zt={...Y,...S};try{localStorage.setItem(Jt,JSON.stringify(zt));}catch{}return zt});},[]),d=useRef(null);d.current??=new ue(i.sound,r),useEffect(()=>{d.current?.update(i.sound,r);},[i.sound,r]),useEffect(()=>{let S=d.current;return S?.attach(),()=>S?.dispose()},[]);let p=useCallback(S=>d.current?.play(S),[]),c=useMemo(()=>Zt(i,r),[i,r]),f=useRef(new Q).current;f.setMotion(c),f.setPlayer(p);let[g,v]=useState(null);useEffect(()=>f.setLayer(g),[f,g]);let[C,P]=useState(null),A=useRef(C);A.current=C;let E=useCallback((S,Y)=>{if(S.length===0){Y?.onDone?.();return}f.reserve(S),P({lines:S,options:Y});},[f]),V=useCallback(()=>{let S=A.current;S&&f.release(S.lines),P(null),S?.options?.onDone?.();},[f]),we=useRef(null),M=o??(we.current??=Ze());useEffect(()=>(M.setPlayer(p),()=>M.setPlayer(null)),[M,p]);let H=useMemo(()=>({toast:S=>M.toast(S),alert:S=>M.alert(S),dismiss:S=>M.dismiss(S)}),[M]),U=useCallback((S,Y="info")=>{M.toast({message:S,level:Y});},[M]),se=useMemo(()=>({config:i,prefs:r,setPrefs:u,motion:c,play:p,layer:g,fx:f,celebrate:E,toast:U,notify:H,provided:true}),[i,r,u,c,p,g,f,E,U,H]),ae=useRef(null);useEffect(()=>ae.current?Qt(ae.current):void 0,[]);let G=!c.on;return jsx(en.Provider,{value:se,children:jsxs("div",{ref:ae,"data-idos-ui":"","data-idos-motion":G?"off":"on",style:{display:"contents",color:"var(--idos-ui-text)",...et(i,G)},children:[jsx("style",{children:nt}),t,jsx("div",{ref:v,"data-idos-ui-layer":"",style:{position:"absolute",inset:0,zIndex:50,pointerEvents:"none",fontFamily:"var(--idos-ui-font)",overflow:"hidden"},children:n?.({celebration:C,finishCelebration:V,notifications:M})})]})})}function ge(e){let{fx:t}=k();return useSyncExternalStore(t.subscribe,()=>e(t),()=>e(t))}var tn=typeof window<"u"?useLayoutEffect:useEffect;var at="idos:language",lt="idos:language";function Jn(){if(typeof navigator>"u")return "en";let e=(navigator.language||"").toLowerCase();return ["ru","kk","uk","be","ky","uz","tg"].some(t=>e.startsWith(t))?"ru":"en"}function Zn(){try{let e=globalThis.localStorage?.getItem(at);return e==="en"||e==="ru"?e:null}catch{return null}}var Te=Zn(),Pe=new Set;function q(){return Te??Jn()}function ut(e){if(e!=="en"&&e!=="ru")return;let t=e!==q();Te=e;try{globalThis.localStorage?.setItem(at,e);}catch{}if(t){for(let n of [...Pe])n(e);typeof window<"u"&&typeof CustomEvent<"u"&&window.dispatchEvent(new CustomEvent(lt,{detail:e}));}}function dt(e){return Pe.add(e),()=>Pe.delete(e)}typeof window<"u"&&window.addEventListener(lt,e=>{let t=e.detail;if((t==="en"||t==="ru")&&t!==Te){Te=t;for(let n of [...Pe])n(t);}});function nn(e,t,n){return o=>((n??q())==="ru"?t:e)[o]??e[o]??o}function eo(e,t,n=q()){let[o,i=o,r=i]=t.split("|"),l=new Intl.PluralRules(n).select(Math.abs(Math.trunc(e)));return n==="ru"?l==="one"?o:l==="few"?i:r:l==="one"?o:i}var to={close:"Close",back:"Back",confirm:"Confirm",cancel:"Cancel",youGot:"You got",great:"Great!",loading:"Loading\u2026",ok:"OK",loadingNamed:"Loading {name}\u2026",stillLoading:"Still loading \u2014 the first start can take a little longer",retry:"Retry",error:"Something went wrong",notEnough:"Not enough resources",dailyLimitReached:"Today's reward limit is reached \u2014 come back tomorrow",offline:"No connection. Retrying\u2026",more:"More",menu:"Menu",nothingHere:"Nothing here yet",economy:"Economy",events:"Activities",social:"Social",profile:"Profile",other:"Other",free:"Free",claim:"Claim",claimAll:"Claim all",tokenEvent:"Event points",tokenSeason:"Season status",tokenQuest:"Quest points",tokenScore:"Rating points",cryptoTotal:"Balance",cryptoBacked:"Crypto",cryptoUnbacked:"IOU (not backed yet)",cryptoIouHint:"IOUs spend in the app like crypto; the developer backs them with real crypto later."},no={close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",back:"\u041D\u0430\u0437\u0430\u0434",confirm:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",youGot:"\u0412\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u043B\u0438",great:"\u041E\u0442\u043B\u0438\u0447\u043D\u043E!",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u2026",ok:"\u041F\u043E\u043D\u044F\u0442\u043D\u043E",loadingNamed:"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043C \xAB{name}\xBB\u2026",stillLoading:"\u0415\u0449\u0451 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044F \u2014 \u043F\u0435\u0440\u0432\u044B\u0439 \u0437\u0430\u043F\u0443\u0441\u043A \u0431\u044B\u0432\u0430\u0435\u0442 \u0434\u043E\u043B\u044C\u0448\u0435",retry:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",error:"\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A",notEnough:"\u041D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u043E\u0432",dailyLimitReached:"\u0421\u0443\u0442\u043E\u0447\u043D\u044B\u0439 \u043B\u0438\u043C\u0438\u0442 \u043D\u0430\u0433\u0440\u0430\u0434 \u0438\u0441\u0447\u0435\u0440\u043F\u0430\u043D \u2014 \u043F\u0440\u0438\u0445\u043E\u0434\u0438\u0442\u0435 \u0437\u0430\u0432\u0442\u0440\u0430",offline:"\u041D\u0435\u0442 \u0441\u0432\u044F\u0437\u0438. \u041F\u0440\u043E\u0431\u0443\u0435\u043C \u0441\u043D\u043E\u0432\u0430\u2026",more:"\u0415\u0449\u0451",menu:"\u041C\u0435\u043D\u044E",nothingHere:"\u041F\u043E\u043A\u0430 \u043F\u0443\u0441\u0442\u043E",economy:"\u042D\u043A\u043E\u043D\u043E\u043C\u0438\u043A\u0430",events:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F",social:"\u0414\u0440\u0443\u0437\u044C\u044F \u0438 \u043E\u0431\u0449\u0435\u043D\u0438\u0435",profile:"\u041F\u0440\u043E\u0444\u0438\u043B\u044C",other:"\u0420\u0430\u0437\u043D\u043E\u0435",free:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",claim:"\u0417\u0430\u0431\u0440\u0430\u0442\u044C",claimAll:"\u0417\u0430\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0451",tokenEvent:"\u041E\u0447\u043A\u0438 \u0438\u0432\u0435\u043D\u0442\u0430",tokenSeason:"\u0421\u0442\u0430\u0442\u0443\u0441 \u0441\u0435\u0437\u043E\u043D\u0430",tokenQuest:"\u041E\u0447\u043A\u0438 \u0437\u0430\u0434\u0430\u043D\u0438\u0439",tokenScore:"\u041E\u0447\u043A\u0438 \u0440\u0435\u0439\u0442\u0438\u043D\u0433\u0430",cryptoTotal:"\u0411\u0430\u043B\u0430\u043D\u0441",cryptoBacked:"\u041A\u0440\u0438\u043F\u0442\u0430",cryptoUnbacked:"\u0420\u0430\u0441\u043F\u0438\u0441\u043A\u0438 (\u043F\u043E\u043A\u0430 \u043D\u0435 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0435\u043D\u044B)",cryptoIouHint:"\u0420\u0430\u0441\u043F\u0438\u0441\u043A\u0438 \u0442\u0440\u0430\u0442\u044F\u0442\u0441\u044F \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043A\u0430\u043A \u043A\u0440\u0438\u043F\u0442\u0430; \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u043F\u043E\u0437\u0436\u0435 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0442 \u0438\u0445 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0439 \u043A\u0440\u0438\u043F\u0442\u043E\u0439."},w=nn(to,no);function oo(e){return e?/insufficient|not enough|недостаточно|NOT_ENOUGH/i.test(e)?w("notEnough"):/CRYPTO_SERVER_GRANT_CAP_EXCEEDED/.test(e)?w("dailyLimitReached"):e.length>140?`${e.slice(0,140)}\u2026`:e:w("error")}function pt(e){let t=[];for(let n of e?.Entries??[]){if(!n)continue;if(n.Type==="CryptoCurrency"&&n.CurrencyID&&n.AmountUsd!=null){let i=Number(n.AmountUsd);Number.isFinite(i)&&i>0&&t.push({kind:"crypto",id:n.CurrencyID,amount:i,usd:true});continue}let o=Number(n.Amount??0);!Number.isFinite(o)||o<=0||(n.Type==="VirtualCurrency"&&n.CurrencyID?t.push({kind:"currency",id:n.CurrencyID,amount:o}):n.Type==="CryptoCurrency"&&n.CurrencyID?t.push({kind:"crypto",id:n.CurrencyID,amount:o}):n.Type==="Item"&&n.ItemID?t.push({kind:"item",id:n.ItemID,amount:o}):t.push({kind:"other",id:n.CurrencyID??n.ItemID??n.Type??"?",amount:o}));}for(let n of e?.EventTokens??[]){let o=n?.Address?.Type,i=(n?.Address?.EntityID??"").split(":")[0];if(!o||!i)continue;let r=Number(n?.Applied??n?.Amount??0);!Number.isFinite(r)||r<=0||t.push({kind:"token",id:`${o}:${i}`,amount:r});}return on(t)}function gt(e){let t=e.id.indexOf(":");return t<0?{system:e.id,entity:""}:{system:e.id.slice(0,t),entity:e.id.slice(t+1)}}function me(e){switch(gt(e).system){case "TimedEvent":return "star";case "Season":return "trophy";case "Quest":return "quest";case "Leaderboard":return "crown";default:return "ticket"}}function mt(e,t){let{system:n,entity:o}=gt(e);return n==="TimedEvent"?(t?Z(t,"TimedEvent")?.Definitions?.[o]?.Content?.Token?.DisplayName:null)||w("tokenEvent"):n==="Season"?w("tokenSeason"):n==="Quest"?w("tokenQuest"):n==="Leaderboard"?w("tokenScore"):e.id}function on(e){let t=new Map;for(let n of e){let o=`${n.kind}:${n.id}${n.usd?":usd":""}`,i=t.get(o);i?i.amount+=n.amount:t.set(o,{...n});}return [...t.values()]}function rn(e){return pt(e?.Standard)}function io(e){return pt(e?.Standard)}function ro(e){let t=e?.Resources?.Grant;return rn(t)}function so(e,t,n){return e.every(o=>o.kind==="currency"?Number(t?.[o.id]?.Amount??0)>=o.amount:o.kind==="crypto"&&n&&!o.usd?Number(n[o.id]?.Amount??0)>=o.amount:true)}function Ee(e){return e.usd?`$${ao(e.amount)}`:K(e.amount)}function ao(e){return e.toFixed(2).replace(/\.00$/,"")}function K(e){if(!Number.isFinite(e))return "0";let t=Math.abs(e);return t>=1e9?`${ct(e/1e9)}B`:t>=1e6?`${ct(e/1e6)}M`:t>=1e5?`${ct(e/1e3)}K`:Math.round(e).toLocaleString("en-US").replace(/,/g," ")}function ht(e){if(!Number.isFinite(e))return "0";let t=Math.abs(e);if(t>=1e5)return K(e);let n=t>=100?1:t>=1?2:4;return e.toLocaleString("en-US",{maximumFractionDigits:n}).replace(/,/g," ")}function ct(e){return e.toFixed(2).replace(/\.?0+$/,"")}function yt(e,t){if(!e)return null;let n=new Date(e);if(n.getUTCFullYear()>=9e3)return null;let o=n.getTime()-t;if(!Number.isFinite(o)||o<=0)return null;let i=Math.floor(o/1e3),r=Math.floor(i/3600),l=Math.floor(i%3600/60),u=i%60;return r>=24?`${Math.floor(r/24)}d ${r%24}h`:r>0?`${r}h ${String(l).padStart(2,"0")}m`:`${l}m ${String(u).padStart(2,"0")}s`}var sn=640,an=1024;function he(e){return e>=an?"desktop":e>=sn?"tablet":"phone"}function Z(e,t){let n=e.data.config.getSection(t);return n!==void 0?n:e.data.config.titlePublicConfiguration?.[t]??void 0}function bt(e){let t=new Map;for(let n of Object.values(e?.Catalogs??{}))for(let[o,i]of Object.entries(n?.Items??{}))i&&t.set(i.ItemID??o,i);return t}var ft=["Legendary","Epic","Rare","Uncommon","Common"];function lo(e){let t=ft.indexOf(e??"");return t<0?ft.length:t}function vt(e,t){let n=new Map;for(let o of e){let i=t(o),r=n.get(i);r?r.push(o):n.set(i,[o]);}return [...n.entries()].map(([o,i])=>({key:o,items:i}))}function xt(e,t){return t?.[e]?.UnbackedRewardCurrencyID||`${e}_IOU`}function kt(e,t,n){let o=Number(e?.InventoryV2?.CryptoCurrencies?.[t]?.Amount??0)||0,i=xt(t,n),r=e?.InventoryV2?.VirtualCurrencies?.[i],l=r&&Number(r.Amount??0)||0;return {currencyID:t,backed:o,unbacked:l,total:o+l,iouID:r?i:null}}function uo(e){return new Set(Object.keys(e??{}).map(t=>xt(t,e)))}var ln=["coin","gem","potion","scroll","sword","shield","crown","gift","bag","box","trophy","calendar","star","check","lock","shop","chest","quest","user","logout","copy","hero","hammer","market","flame","ticket","friends","chat","link","swords","gear","globe","sound","mute","bell","bulb","menu","close","back","plus","energy","heart","offer","clock","trash","edit"];function un(e){return ln.includes(e)}function Ue(e){return /^(ge|gem|gems|dia|diamond|cr|crystal)/i.test(e)?"gem":/^(en|energy|dice|di)$/i.test(e)?"energy":"coin"}function wt(e,t){let n={potion:"potion",scroll:"scroll",weapon:"sword",sword:"sword",armor:"shield",shield:"shield",helmet:"hero",crown:"crown",chest:"chest",lootbox:"chest",gift:"gift",ticket:"ticket"};for(let o of [...e??[],t??""]){let i=n[o.toLowerCase()];if(i)return i}return "box"}var co=/^(https?:|\/|data:)/;function L({glyph:e,size:t=24,color:n}){return un(e)?jsx("svg",{width:t,height:t,viewBox:"0 0 32 32","aria-hidden":"true",style:{flex:"none",display:"block"},children:fo(e,n)}):co.test(e)?jsx("img",{src:e,alt:"",width:t,height:t,style:{flex:"none",display:"block",objectFit:"contain"}}):jsx("span",{"aria-hidden":"true",style:{flex:"none",display:"inline-grid",placeItems:"center",width:t,height:t,fontSize:t*.8,lineHeight:1},children:e})}function fo(e,t){switch(e){case "coin":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"17",r:"12",fill:"#c77a0c"}),jsx("circle",{cx:"16",cy:"15",r:"12",fill:t??"#ffcf3a"}),jsx("circle",{cx:"16",cy:"15",r:"8.5",fill:"none",stroke:"#e89a12",strokeWidth:"2"}),jsx("path",{d:"M16 9.5v11M13 12.5h4.5a2 2 0 010 4H13",stroke:"#b86d06",strokeWidth:"2.2",fill:"none",strokeLinecap:"round"})]});case "gem":return jsxs(Fragment,{children:[jsx("path",{d:"M9 5h14l6 8-13 15L3 13z",fill:t??"#5ce1ff"}),jsx("path",{d:"M9 5l3 8h8l3-8M3 13h26M12 13l4 15 4-15",fill:"none",stroke:"#1f8fc7",strokeWidth:"1.6",strokeLinejoin:"round"}),jsx("path",{d:"M11 7l2 5",stroke:"#fff",strokeWidth:"1.6",strokeLinecap:"round",opacity:".8"})]});case "potion":return jsxs(Fragment,{children:[jsx("rect",{x:"12.5",y:"3",width:"7",height:"6",rx:"1.5",fill:"#c9a36a"}),jsx("path",{d:"M13 9h6v4l6 8a7 7 0 01-6 9h-6a7 7 0 01-6-9l6-8z",fill:t??"#ff5a7a"}),jsx("path",{d:"M9 21h14",stroke:"#fff",strokeWidth:"1.5",opacity:".45"}),jsx("circle",{cx:"13",cy:"22",r:"1.6",fill:"#fff",opacity:".7"})]});case "scroll":return jsxs(Fragment,{children:[jsx("rect",{x:"6",y:"7",width:"20",height:"18",rx:"2",fill:t??"#f3dca2"}),jsx("rect",{x:"4",y:"5",width:"4",height:"22",rx:"2",fill:"#c49a52"}),jsx("rect",{x:"24",y:"5",width:"4",height:"22",rx:"2",fill:"#c49a52"}),jsx("path",{d:"M11 12h10M11 16h10M11 20h7",stroke:"#9c7338",strokeWidth:"1.8",strokeLinecap:"round"})]});case "sword":return jsxs(Fragment,{children:[jsx("path",{d:"M22 3l7 0 0 7L14 25l-4-3z",fill:t??"#d7e3f4"}),jsx("path",{d:"M24 5L12 21",stroke:"#fff",strokeWidth:"1.4",opacity:".7"}),jsx("path",{d:"M6 19l7 7",stroke:"#8a5a26",strokeWidth:"3.4",strokeLinecap:"round"}),jsx("path",{d:"M4 27l3 -3",stroke:"#e0b44a",strokeWidth:"4",strokeLinecap:"round"})]});case "shield":return jsxs(Fragment,{children:[jsx("path",{d:"M16 3l11 4v8c0 7-5 12-11 14C10 27 5 22 5 15V7z",fill:t??"#b57a3c"}),jsx("path",{d:"M16 6l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V9z",fill:"#d89b54"}),jsx("path",{d:"M16 6v20M8 14h16",stroke:"#8a5424",strokeWidth:"1.8"})]});case "crown":return jsxs(Fragment,{children:[jsx("path",{d:"M4 11l6 5 6-9 6 9 6-5-3 14H7z",fill:t??"#ffcf3a"}),jsx("rect",{x:"7",y:"24",width:"18",height:"4",rx:"1.5",fill:"#e89a12"}),jsx("circle",{cx:"16",cy:"18",r:"2",fill:"#ff5a7a"}),jsx("circle",{cx:"10",cy:"20",r:"1.4",fill:"#5ce1ff"}),jsx("circle",{cx:"22",cy:"20",r:"1.4",fill:"#5ce1ff"})]});case "gift":return jsxs(Fragment,{children:[jsx("rect",{x:"5",y:"13",width:"22",height:"15",rx:"2",fill:t??"#ff6b8b"}),jsx("rect",{x:"3",y:"9",width:"26",height:"6",rx:"2",fill:"#ff8aa3"}),jsx("rect",{x:"14",y:"9",width:"4",height:"19",fill:"#ffd24a"}),jsx("path",{d:"M16 9c-2-5-8-5-7-1 1 2 5 1 7 1zm0 0c2-5 8-5 7-1-1 2-5 1-7 1z",fill:"#ffd24a"})]});case "bag":return jsxs(Fragment,{children:[jsx("path",{d:"M11 9h10l5 5v11a4 4 0 01-4 4H10a4 4 0 01-4-4V14z",fill:t??"#c98a3c"}),jsx("path",{d:"M11 9l2-5h6l2 5",fill:"#a86c26"}),jsx("circle",{cx:"16",cy:"19",r:"4.5",fill:"#ffcf3a"}),jsx("path",{d:"M16 16.5v5",stroke:"#b86d06",strokeWidth:"1.8",strokeLinecap:"round"})]});case "trophy":return jsxs(Fragment,{children:[jsx("path",{d:"M9 4h14v7a7 7 0 01-14 0z",fill:t??"#ffcf3a"}),jsx("path",{d:"M9 7H4c0 5 3 7 6 7M23 7h5c0 5-3 7-6 7",fill:"none",stroke:"#e89a12",strokeWidth:"2.2"}),jsx("rect",{x:"14",y:"17",width:"4",height:"6",fill:"#e89a12"}),jsx("rect",{x:"9",y:"23",width:"14",height:"5",rx:"1.5",fill:"#b86d06"})]});case "calendar":return jsxs(Fragment,{children:[jsx("rect",{x:"4",y:"6",width:"24",height:"22",rx:"3",fill:"#fff"}),jsx("rect",{x:"4",y:"6",width:"24",height:"7",rx:"3",fill:t??"#ff5a5a"}),jsx("path",{d:"M10 3v6M22 3v6",stroke:"#5b6187",strokeWidth:"2.4",strokeLinecap:"round"}),jsx("path",{d:"M10 18h3M15 18h3M20 18h3M10 23h3M15 23h3",stroke:"#5b6187",strokeWidth:"2.4",strokeLinecap:"round"})]});case "star":return jsx("path",{d:"M16 3l3.9 8 8.6 1.2-6.3 6 1.6 8.6L16 22.7 8.2 26.8l1.6-8.6-6.3-6 8.6-1.2z",fill:t??"#ffd24a",stroke:"#e89a12",strokeWidth:"1.2",strokeLinejoin:"round"});case "check":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"16",r:"13",fill:t??"#59d35b"}),jsx("path",{d:"M9.5 16.5l4.5 4.5 8.5-9",fill:"none",stroke:"#fff",strokeWidth:"3.4",strokeLinecap:"round",strokeLinejoin:"round"})]});case "lock":return jsxs(Fragment,{children:[jsx("path",{d:"M10 14v-4a6 6 0 0112 0v4",fill:"none",stroke:"#8e95b8",strokeWidth:"3"}),jsx("rect",{x:"7",y:"14",width:"18",height:"14",rx:"3",fill:t??"#c3c8e3"}),jsx("circle",{cx:"16",cy:"21",r:"2.2",fill:"#5b6187"})]});case "shop":return jsxs(Fragment,{children:[jsx("path",{d:"M4 12l3-7h18l3 7z",fill:t??"#ff5a5a"}),jsx("path",{d:"M4 12h24v2a3 3 0 01-6 0 3 3 0 01-6 0 3 3 0 01-6 0 3 3 0 01-6 0z",fill:"#fff"}),jsx("rect",{x:"6",y:"16",width:"20",height:"12",rx:"1.5",fill:"#ffd9a8"}),jsx("rect",{x:"13",y:"20",width:"6",height:"8",fill:"#c98a3c"})]});case "chest":return jsxs(Fragment,{children:[jsx("path",{d:"M5 13a11 7 0 0122 0v2H5z",fill:t??"#b57a3c"}),jsx("rect",{x:"5",y:"15",width:"22",height:"13",rx:"2",fill:"#d89b54"}),jsx("rect",{x:"5",y:"15",width:"22",height:"3",fill:"#8a5424"}),jsx("rect",{x:"14",y:"14",width:"4",height:"7",rx:"1",fill:"#ffd24a"})]});case "quest":return jsxs(Fragment,{children:[jsx("rect",{x:"6",y:"4",width:"20",height:"24",rx:"3",fill:"#f3dca2"}),jsx("path",{d:"M11 11l2 2 4-4M11 18l2 2 4-4",fill:"none",stroke:t??"#2b9936",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M19 12h3M19 19h3",stroke:"#9c7338",strokeWidth:"2",strokeLinecap:"round"})]});case "user":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"16",r:"14",fill:t??"#4fb1ff"}),jsx("circle",{cx:"16",cy:"12.5",r:"5.2",fill:"#fff"}),jsx("path",{d:"M6.5 25.5a10 7 0 0119 0A13.6 13.6 0 0116 30a13.6 13.6 0 01-9.5-4.5z",fill:"#fff"})]});case "logout":return jsxs(Fragment,{children:[jsx("path",{d:"M18 5H9a3 3 0 00-3 3v16a3 3 0 003 3h9",fill:"none",stroke:t??"currentColor",strokeWidth:"2.8",strokeLinecap:"round"}),jsx("path",{d:"M14 16h14M23 10.5l5.5 5.5-5.5 5.5",fill:"none",stroke:t??"currentColor",strokeWidth:"2.8",strokeLinecap:"round",strokeLinejoin:"round"})]});case "copy":return jsxs(Fragment,{children:[jsx("rect",{x:"10",y:"10",width:"16",height:"18",rx:"3",fill:"none",stroke:t??"currentColor",strokeWidth:"2.6"}),jsx("path",{d:"M6 22V7a3 3 0 013-3h11",fill:"none",stroke:t??"currentColor",strokeWidth:"2.6",strokeLinecap:"round"})]});case "hero":return jsxs(Fragment,{children:[jsx("path",{d:"M6 15a10 10 0 0120 0v5H6z",fill:t??"#b8c4d9"}),jsx("path",{d:"M6 15a10 10 0 0120 0",fill:"none",stroke:"#6f7c99",strokeWidth:"1.6"}),jsx("rect",{x:"9",y:"16",width:"14",height:"3",rx:"1",fill:"#2a3150"}),jsx("path",{d:"M16 3v5",stroke:"#ff5a5a",strokeWidth:"3",strokeLinecap:"round"}),jsx("path",{d:"M8 20h16l-2 8H10z",fill:"#8a96b3"})]});case "hammer":return jsxs(Fragment,{children:[jsx("path",{d:"M14 13l12 12-3 3-12-12z",fill:"#a8743d"}),jsx("path",{d:"M5 9l7-6 8 8-7 6z",fill:t??"#c3c8e3"}),jsx("path",{d:"M5 9l7-6 2 2-7 6z",fill:"#e6e9f7"})]});case "market":return jsxs(Fragment,{children:[jsx("path",{d:"M3 11l3-7h20l3 7z",fill:t??"#4fb1ff"}),jsx("path",{d:"M3 11h26v2a3 3 0 01-6.5 0 3 3 0 01-6.5 0 3 3 0 01-6.5 0A3 3 0 013 13z",fill:"#fff"}),jsx("rect",{x:"5",y:"15",width:"22",height:"13",rx:"1.5",fill:"#d8e7ff"}),jsx("circle",{cx:"16",cy:"21.5",r:"4",fill:"#ffcf3a"}),jsx("path",{d:"M16 19.5v4",stroke:"#b86d06",strokeWidth:"1.6",strokeLinecap:"round"})]});case "flame":return jsxs(Fragment,{children:[jsx("path",{d:"M16 3c1 5 8 8 8 16a8 8 0 01-16 0c0-4 2-6 3-8 1 3 3 4 3 4 0-5 1-8 2-12z",fill:t??"#ff7a2e"}),jsx("path",{d:"M16 15c1 3 4 4 4 8a4 4 0 01-8 0c0-2 1-3 2-4 .5 1 1.5 1.5 1.5 1.5 0-2 .2-3.5.5-5.5z",fill:"#ffd24a"})]});case "ticket":return jsxs(Fragment,{children:[jsx("path",{d:"M4 9h24v4a3 3 0 000 6v4H4v-4a3 3 0 000-6z",fill:t??"#b879ff"}),jsx("path",{d:"M20 9v14",stroke:"#fff",strokeWidth:"1.6",strokeDasharray:"2 2"}),jsx("path",{d:"M11 13l1.2 2.4 2.6.4-1.9 1.8.5 2.6-2.4-1.3-2.3 1.3.4-2.6-1.9-1.8 2.6-.4z",fill:"#ffd24a"})]});case "friends":return jsxs(Fragment,{children:[jsx("circle",{cx:"11",cy:"11",r:"4.5",fill:t??"#4fb1ff"}),jsx("path",{d:"M3 26a8 7 0 0116 0z",fill:t??"#4fb1ff"}),jsx("circle",{cx:"21.5",cy:"12",r:"4",fill:"#59d35b"}),jsx("path",{d:"M15 26a7 6.5 0 0114 0z",fill:"#59d35b"})]});case "chat":return jsxs(Fragment,{children:[jsx("path",{d:"M4 7a3 3 0 013-3h18a3 3 0 013 3v12a3 3 0 01-3 3H13l-6 5v-5H7a3 3 0 01-3-3z",fill:t??"#4fb1ff"}),jsx("circle",{cx:"11",cy:"13",r:"1.8",fill:"#fff"}),jsx("circle",{cx:"16",cy:"13",r:"1.8",fill:"#fff"}),jsx("circle",{cx:"21",cy:"13",r:"1.8",fill:"#fff"})]});case "link":return jsxs(Fragment,{children:[jsx("path",{d:"M13 19l6-6",stroke:t??"#59d35b",strokeWidth:"3",strokeLinecap:"round"}),jsx("path",{d:"M14 9l2-2a5 5 0 017 7l-2 2M18 23l-2 2a5 5 0 01-7-7l2-2",fill:"none",stroke:t??"#59d35b",strokeWidth:"3",strokeLinecap:"round"})]});case "swords":return jsxs(Fragment,{children:[jsx("path",{d:"M5 4l14 14-2 2L3 6V4z",fill:t??"#d7e3f4"}),jsx("path",{d:"M27 4L13 18l2 2L29 6V4z",fill:t??"#d7e3f4"}),jsx("path",{d:"M8 22l4 4M24 22l-4 4",stroke:"#8a5a26",strokeWidth:"3.2",strokeLinecap:"round"}),jsx("path",{d:"M6 20l6 6M26 20l-6 6",stroke:"#e0b44a",strokeWidth:"2",strokeLinecap:"round"})]});case "gear":return jsxs(Fragment,{children:[jsx("path",{d:"M14 3h4l.7 3.3 2.6 1.1 2.8-1.9 2.8 2.8-1.9 2.8 1.1 2.6L29 14v4l-3.3.7-1.1 2.6 1.9 2.8-2.8 2.8-2.8-1.9-2.6 1.1L18 29h-4l-.7-3.3-2.6-1.1-2.8 1.9-2.8-2.8 1.9-2.8-1.1-2.6L3 18v-4l3.3-.7 1.1-2.6-1.9-2.8 2.8-2.8 2.8 1.9 2.6-1.1z",fill:t??"#aeb6f0"}),jsx("circle",{cx:"16",cy:"16",r:"4.5",fill:"#2c3480"})]});case "globe":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"16",r:"12",fill:t??"#4fb1ff"}),jsx("path",{d:"M4 16h24M16 4c-4 4-4 20 0 24M16 4c4 4 4 20 0 24",fill:"none",stroke:"#fff",strokeWidth:"1.6"})]});case "sound":return jsxs(Fragment,{children:[jsx("path",{d:"M5 12h5l7-6v20l-7-6H5z",fill:t??"currentColor"}),jsx("path",{d:"M21 11a6 6 0 010 10M24 7a11 11 0 010 18",fill:"none",stroke:t??"currentColor",strokeWidth:"2.4",strokeLinecap:"round"})]});case "mute":return jsxs(Fragment,{children:[jsx("path",{d:"M5 12h5l7-6v20l-7-6H5z",fill:t??"currentColor"}),jsx("path",{d:"M21 12l7 8M28 12l-7 8",stroke:t??"currentColor",strokeWidth:"2.6",strokeLinecap:"round"})]});case "bell":return jsxs(Fragment,{children:[jsx("path",{d:"M16 4a8 8 0 018 8v6l3 4H5l3-4v-6a8 8 0 018-8z",fill:t??"#ffd24a"}),jsx("circle",{cx:"16",cy:"26",r:"3",fill:"#e89a12"})]});case "bulb":return jsxs(Fragment,{children:[jsx("path",{d:"M16 3a9 9 0 015 16.5V23h-10v-3.5A9 9 0 0116 3z",fill:t??"#ffe066"}),jsx("rect",{x:"11",y:"24",width:"10",height:"3",rx:"1",fill:"#aeb6f0"}),jsx("rect",{x:"12.5",y:"27.5",width:"7",height:"2.5",rx:"1",fill:"#8e95b8"})]});case "menu":return jsx("path",{d:"M6 9h20M6 16h20M6 23h20",stroke:t??"currentColor",strokeWidth:"3",strokeLinecap:"round"});case "close":return jsx("path",{d:"M9 9l14 14M23 9L9 23",stroke:t??"currentColor",strokeWidth:"3.2",strokeLinecap:"round"});case "back":return jsx("path",{d:"M19 7l-9 9 9 9",fill:"none",stroke:t??"currentColor",strokeWidth:"3.2",strokeLinecap:"round",strokeLinejoin:"round"});case "plus":return jsx("path",{d:"M16 7v18M7 16h18",stroke:t??"currentColor",strokeWidth:"3.2",strokeLinecap:"round"});case "energy":return jsx("path",{d:"M18 3L7 18h8l-2 11 12-16h-8z",fill:t??"#ffd24a",stroke:"#e89a12",strokeWidth:"1.2",strokeLinejoin:"round"});case "heart":return jsx("path",{d:"M16 27S4 20 4 11.5A6.5 6.5 0 0116 8a6.5 6.5 0 0112 3.5C28 20 16 27 16 27z",fill:t??"#ff5a7a"});case "offer":return jsxs(Fragment,{children:[jsx("path",{d:"M4 16L16 4h10v10L14 26z",fill:t??"#ff5a5a"}),jsx("circle",{cx:"21",cy:"9",r:"2.2",fill:"#fff"}),jsx("path",{d:"M11 17l6-6",stroke:"#fff",strokeWidth:"1.8",strokeLinecap:"round"})]});case "clock":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"16",r:"12",fill:t??"currentColor"}),jsx("path",{d:"M16 9v7l5 3",fill:"none",stroke:"#2c3480",strokeWidth:"2.6",strokeLinecap:"round"})]});case "trash":return jsxs(Fragment,{children:[jsx("path",{d:"M8 10h16l-1.5 17h-13z",fill:t??"#ff5a5a"}),jsx("rect",{x:"6",y:"6",width:"20",height:"3.5",rx:"1.2",fill:t??"#ff5a5a"}),jsx("rect",{x:"13",y:"3.5",width:"6",height:"3",rx:"1",fill:t??"#ff5a5a"})]});case "edit":return jsxs(Fragment,{children:[jsx("path",{d:"M6 22l14-14 4 4-14 14H6z",fill:t??"#ffd24a"}),jsx("path",{d:"M20 8l2-2a2.8 2.8 0 014 4l-2 2",fill:"#e89a12"})]});default:return jsxs(Fragment,{children:[jsx("path",{d:"M16 3l12 6v14l-12 6-12-6V9z",fill:t??"#9aa6ff"}),jsx("path",{d:"M4 9l12 6 12-6M16 15v14",fill:"none",stroke:"#5b67c9",strokeWidth:"1.8",strokeLinejoin:"round"})]})}}function go(e){let[t,n]=useState("phone");return tn(()=>{let o=e.current;if(!o)return;let i=()=>n(he(o.getBoundingClientRect().width));if(i(),typeof ResizeObserver>"u")return;let r=new ResizeObserver(i);return r.observe(o),()=>r.disconnect()},[e]),t}function De(){let{layer:e}=k(),t=useRef(null);t.current=e;let[n,o]=useState(()=>e?he(e.getBoundingClientRect().width):"phone");return useEffect(()=>{if(!e)return;let i=()=>o(he(e.getBoundingClientRect().width));if(i(),typeof ResizeObserver>"u")return;let r=new ResizeObserver(i);return r.observe(e),()=>r.disconnect()},[e]),n}function $e(e,t){let[n,o]=useState(e),[i,r]=useState(false);return useEffect(()=>{if(e){o(true),r(false);return}if(!n)return;if(t<=0){o(false);return}r(true);let l=setTimeout(()=>{o(false),r(false);},t);return ()=>clearTimeout(l)},[e,t,n]),{mounted:n,closing:i}}function cn(e,t=600,n){let[o,i]=useState(e),r=useRef(e),l=useRef(n);return l.current=n,useEffect(()=>{let u=r.current;if(u===e)return;if(t<=0){r.current=e,i(e);return}let d=performance.now(),p=0,c=f=>{let g=Math.min(1,(f-d)/t),v=1-Math.pow(1-g,3),C=g>=1?e:Math.round(u+(e-u)*v);C!==r.current&&l.current?.(),r.current=C,i(C),g<1&&(p=requestAnimationFrame(c));};return p=requestAnimationFrame(c),()=>cancelAnimationFrame(p)},[e,t]),o}function Oe(e,t){let n=k(),o=ge(l=>l.holding(e)>0),i=useRef(t);o||(i.current=t);let r=o?i.current:t;return cn(r,n.motion.on?650:0,()=>n.play("countTick"))}function D(){let e=c(),t=k(),[,n]=useReducer(d=>d+1,0);useEffect(()=>e?.on("user:anyUpdated",()=>n()),[e]);let o=e?.data.config.titlePublicConfiguration??null,i=useMemo(()=>e&&o?bt(Z(e,"Item")):new Map,[e,o]),r=useMemo(()=>e&&o?Z(e,"Currency")?.VirtualCurrencies??{}:{},[e,o]),l=useMemo(()=>e&&o?Z(e,"Currency")?.CryptoCurrencies??{}:{},[e,o]),u=useCallback(d=>d?e?.localization.has(d)?e.localization.t(d):d:"",[e]);return useMemo(()=>({items:i,currencies:r,cryptoCurrencies:l,localize:u,currencyName:d=>u(r[d]?.DisplayName||l[d]?.DisplayName||d),itemName:d=>u(i.get(d)?.DisplayName||d),iconOf:d=>{if(d.kind==="currency")return r[d.id]?.ImagePath||Ue(d.id);if(d.kind==="crypto"){let p=l[d.id]?.AssetPaths;return p?.Default||p?.Icon||Ue(d.id)}if(d.kind==="item"){let p=i.get(d.id);return p?.ImagePath||wt(p?.Tags,p?.ItemClass)}return "box"},rarityColor:d=>t.config.theme.rarity[d??""]??t.config.theme.rarity.Common??"#a9b3c9"}),[i,r,l,u,t.config.theme.rarity])}function St(){let e=c(),t=D(),[,n]=useReducer(r=>r+1,0);useEffect(()=>e?.on("user:anyUpdated",()=>n()),[e]);let o=e?.data.user.state?.InventoryV2?.VirtualCurrencies??{},i=Object.keys(t.currencies);return Object.entries(o).filter(([r])=>i.length===0||i.includes(r)).map(([r,l])=>[r,Number(l?.Amount??0)]).sort(([r],[l])=>r.localeCompare(l))}function mo(e=1e3){let[t,n]=useState(()=>Date.now());return useEffect(()=>{let o=setInterval(()=>n(Date.now()),e);return ()=>clearInterval(o)},[e]),t}var Be={green:[a.green,a.greenDeep],gold:[a.gold,a.goldDeep],blue:[a.blue,a.blueDeep],red:[a.red,a.redDeep],grey:["#8e95b8","#5b6187"]},ne={green:{color:a.onGreen,textShadow:a.onGreenOutline},gold:{color:a.onGold,textShadow:a.onGoldOutline},blue:{color:a.onBlue,textShadow:a.onBlueOutline},red:{color:a.onRed,textShadow:a.onRedOutline},grey:{color:"#ffffff",textShadow:Se}};function ze(e){let[t,n]=Be[e],o=ne[e];return {background:`linear-gradient(180deg, ${t} 0%, ${n} 100%)`,color:o.color,"--idos-ui-text":o.color,"--idos-ui-text-dim":`color-mix(in srgb, ${o.color} 80%, transparent)`,"--idos-ui-text-outline":o.textShadow}}function fn(e,t=false,n="md"){let[o,i]=Be[t?"grey":e],r=ne[t?"grey":e],l=n==="sm"?"6px 12px":n==="lg"?"12px 22px":"10px 18px";return {...x,...r,fontFamily:a.font,fontSize:n==="sm"?13:n==="lg"?18:16,border:"none",borderRadius:a.buttonRadius,padding:l,minHeight:n==="sm"?34:44,cursor:t?"default":"pointer",background:`linear-gradient(180deg, ${o} 0%, ${i} 100%)`,boxShadow:`0 4px 0 ${a.edge}, inset 0 2px 0 rgba(255,255,255,.35)`,opacity:t?.75:1,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6}}function B({children:e,onClick:t,tone:n="green",size:o="md",disabled:i=false,busy:r=false,attract:l=false,style:u,className:d="",sound:p="click",title:c,...f}){let{play:g}=k();return jsx("button",{type:"button",title:c,"data-tutorial-anchor":f["data-tutorial-anchor"],className:`idos-press ${l&&!i?"idos-shine idos-bounce":""} ${d}`,disabled:i||r,onClick:v=>{p&&g(p),t?.(v);},style:{...fn(n,i,o),...u},children:r?jsx(pn,{size:18}):e})}function ye({glyph:e,onClick:t,label:n,size:o=40,tone:i,style:r,badge:l}){let{play:u}=k();return jsxs("button",{type:"button","aria-label":n,title:n,className:"idos-press",onClick:()=>{u("click"),t();},style:{position:"relative",width:o,height:o,borderRadius:"50%",border:`2px solid ${a.panelEdge}`,background:i?`linear-gradient(180deg, ${Be[i][0]}, ${Be[i][1]})`:a.well,color:i?ne[i].color:a.text,display:"grid",placeItems:"center",cursor:"pointer",padding:0,flex:"none",...r},children:[jsx(L,{glyph:e,size:o*.55}),l?jsx(be,{count:l}):null]})}function pn({size:e=28}){return jsx("span",{"aria-label":w("loading"),style:{width:e,height:e,borderRadius:"50%",border:`${Math.max(2,e/8)}px solid color-mix(in srgb, currentColor 25%, transparent)`,borderTopColor:"currentColor",animation:"idos-spin .8s linear infinite",display:"inline-block",flex:"none"}})}function be({count:e,dot:t=false,style:n}){return !e||e<=0?null:jsx("span",{className:"idos-pulse",style:{position:"absolute",top:-4,right:-4,minWidth:t?12:20,height:t?12:20,padding:t?0:"0 5px",borderRadius:999,background:a.red,border:"2px solid #fff",...x,...ne.red,fontSize:11,lineHeight:"16px",textAlign:"center",pointerEvents:"none",zIndex:1,...n},children:t?null:e>99?"99+":e})}function gn({line:e,size:t=20,big:n=false,dim:o=false}){let i=D(),r=c();return jsxs("span",{title:Ke(e,i,r),style:{display:"inline-flex",alignItems:"center",gap:4,...x,fontSize:n?18:14,color:o?a.red:a.text},children:[jsx(L,{glyph:e.kind==="token"?me(e):i.iconOf(e),size:t}),e.kind==="item"&&e.amount===1?null:Ee(e)]})}function Ke(e,t,n){return e.kind==="currency"||e.kind==="crypto"?t.currencyName(e.id):e.kind==="item"?t.itemName(e.id):e.kind==="token"?t.localize(mt(e,n)):e.id}function yo({lines:e,size:t=18,gap:n=8,dimIf:o}){return jsx("span",{style:{display:"inline-flex",gap:n,flexWrap:"wrap",alignItems:"center",justifyContent:"center"},children:e.map(i=>jsx(gn,{line:i,size:t,dim:o?.(i)},`${i.kind}:${i.id}`))})}function Ct({currencyID:e,amount:t,size:n=24,onClick:o}){let i=D(),r=Oe(e,t);return jsxs("div",{"data-resource-counter":e,title:i.currencyName(e),onClick:o,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 12px 4px 6px",borderRadius:999,...Ne,cursor:o?"pointer":"default"},children:[jsx(L,{glyph:i.iconOf({kind:"currency",id:e,amount:0}),size:n}),jsx("span",{style:{...x,fontSize:15,minWidth:36,textAlign:"right"},children:K(r)})]})}function bo({itemID:e,count:t,level:n,onClick:o,size:i=76,selected:r=false,dim:l=false}){let u=D(),{play:d}=k(),p=u.items.get(e),c=u.rarityColor(p?.Metadata?.RarityID);return jsxs("button",{type:"button",className:"idos-press",title:u.itemName(e),onClick:o?()=>{d("click"),o();}:void 0,style:{position:"relative",width:i,height:i,borderRadius:16,border:`3px solid ${r?a.text:c}`,background:`radial-gradient(circle at 50% 35%, ${c}55 0%, ${a.panelDeep} 70%)`,boxShadow:r?`0 0 0 3px ${a.gold}, 0 4px 0 ${a.shadow}`:`0 4px 0 ${a.shadow}, inset 0 0 12px ${c}44`,display:"grid",placeItems:"center",cursor:o?"pointer":"default",padding:0,opacity:l?.45:1,flex:"none"},children:[jsx(L,{glyph:u.iconOf({kind:"item",id:e,amount:1}),size:i*.56}),t!==void 0&&t>1?jsxs("span",{style:{position:"absolute",right:4,bottom:2,...x,fontSize:14},children:["\xD7",K(t)]}):null,n!==void 0&&n>0?jsxs("span",{style:{position:"absolute",left:5,top:2,...x,fontSize:12},children:["Lv",n]}):null]})}function vo({value:e,max:t,tone:n="green",label:o,height:i=18}){let r=Math.max(0,Math.min(100,e/Math.max(1,t)*100)),[l,u]=n==="gold"?[a.gold,a.goldDeep]:n==="blue"?[a.blue,a.blueDeep]:[a.green,a.greenDeep];return jsxs("div",{style:{position:"relative",height:i,borderRadius:i/2,background:a.wellSoft,boxShadow:a.wellShadow,overflow:"hidden"},children:[jsx("div",{style:{width:`${r}%`,height:"100%",background:`linear-gradient(180deg, ${l}, ${u})`,borderRadius:i/2,transition:`width ${a.slow} ${W}`}}),jsx("div",{style:{position:"absolute",inset:0,display:"grid",placeItems:"center",...x,fontSize:Math.max(10,i-6)},children:o??`${K(e)} / ${K(t)}`})]})}function Rt({children:e,right:t}){return jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,margin:"4px 4px 10px"},children:[jsx("div",{style:{...x,fontSize:19,fontFamily:a.font},children:e}),t]})}function xo({glyph:e,text:t,action:n}){return jsxs("div",{style:{...I,padding:24,textAlign:"center",display:"grid",gap:12,justifyItems:"center",animation:`idos-rise-in ${a.normal} ease both`},children:[jsx(L,{glyph:e,size:56}),jsx("div",{style:{...x,fontWeight:700,color:a.textDim,fontSize:15,maxWidth:340},children:t}),n]})}function ko({children:e,minHeight:t=240}){return jsx("div",{style:{display:"grid",placeItems:"center",minHeight:t},children:e})}function wo({at:e,now:t,label:n}){let o=yt(e,t);return o?jsxs("span",{style:{...x,fontSize:12,color:a.textDim,fontWeight:700,whiteSpace:"nowrap"},children:[n?`${n} `:"",o]}):null}function Lt({tabs:e,value:t,onChange:n,style:o}){let{play:i}=k();return e.length<2?null:jsx("div",{className:"idos-scroll",role:"tablist",style:{display:"flex",gap:6,padding:4,borderRadius:16,background:a.wellSoft,overflowX:"auto",...o},children:e.map(r=>{let l=r.id===t;return jsxs("button",{role:"tab","aria-selected":l,type:"button",className:"idos-press",onClick:()=>{l||(i("tab"),n(r.id));},style:{position:"relative",flex:"1 0 auto",border:"none",borderRadius:12,padding:"8px 14px",cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,whiteSpace:"nowrap",background:l?`linear-gradient(180deg, ${a.blue}, ${a.blueDeep})`:"transparent",boxShadow:l?`0 3px 0 ${a.edge}, inset 0 2px 0 rgba(255,255,255,.3)`:"none",transition:`background ${a.fast} ease`},children:[r.glyph?jsx(L,{glyph:r.glyph,size:20}):null,jsx("span",{style:{...x,...l?ne.blue:{color:a.textDim},fontSize:14},children:r.label}),r.badge?jsx(be,{count:r.badge}):null]},r.id)})})}function Nt(){let{motion:e}=k();return t=>e.stagger?{animation:`idos-rise-in ${a.normal} ease ${Math.min(t,14)*35}ms both`}:{}}function So({children:e,style:t,highlight:n=false,onClick:o}){let{play:i}=k();return jsx("div",{className:o?"idos-press":void 0,onClick:o?()=>{i("click"),o();}:void 0,style:{...I,padding:12,cursor:o?"pointer":void 0,border:n?`2px solid ${a.gold}`:I.border,...t},children:e})}var Mt={...I,padding:"12px 14px",fontSize:15,color:a.text,fontFamily:a.font,outline:"none",boxSizing:"border-box"};function Co({style:e,...t}){return jsx("input",{...t,style:{...Mt,...e}})}function Ro({style:e,...t}){return jsx("textarea",{...t,style:{...Mt,resize:"vertical",...e}})}function Lo({style:e,children:t,...n}){return jsx("select",{...n,className:`idos-select ${n.className??""}`,style:{...Mt,padding:"9px 12px",cursor:n.disabled?"default":"pointer",...e},children:t})}function No({label:e,children:t}){return jsxs("div",{style:{display:"grid",gap:6},children:[jsx("div",{style:{...x,fontSize:13,color:a.textDim},children:e}),t]})}function Mo({currencyID:e,size:t=24,align:n="left"}){let o=c(),i=D(),[r,l]=useState(false),u=kt(o?.data.user.state,e,i.cryptoCurrencies),d=Oe(`crypto:${e}`,u.total),p=i.cryptoCurrencies[e]?.DisplayDecimals??4,c$1=v=>v.toLocaleString("en-US",{maximumFractionDigits:Math.max(0,p)}).replace(/,/g," "),f=i.currencyName(e),g=(v,C,P=false)=>jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:16},children:[jsx("span",{style:{...x,fontSize:13,color:a.textDim},children:v}),jsx("span",{style:{...x,fontSize:14,color:P?a.textDim:a.text},children:C})]});return jsxs("div",{"data-resource-counter":`crypto:${e}`,style:{position:"relative",display:"inline-flex"},onMouseEnter:()=>l(true),onMouseLeave:()=>l(false),children:[jsxs("button",{type:"button","aria-label":f,"aria-expanded":r,onClick:()=>l(v=>!v),onBlur:()=>l(false),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 12px 4px 6px",borderRadius:999,...Ne,cursor:"pointer",font:"inherit"},children:[jsx(L,{glyph:i.iconOf({kind:"crypto",id:e,amount:0}),size:t}),jsx("span",{style:{...x,fontSize:15,minWidth:36,textAlign:"right"},children:ht(d)}),u.unbacked>0?jsx("span",{"aria-hidden":true,style:{width:6,height:6,borderRadius:"50%",background:a.gold}}):null]}),r?jsxs("div",{role:"tooltip",style:{...I,position:"absolute",top:"calc(100% + 8px)",[n]:0,zIndex:30,minWidth:220,maxWidth:280,padding:"10px 12px",display:"grid",gap:6,animation:`idos-drop-in ${a.fast} ${W} both`},children:[jsx("span",{style:{...x,fontSize:15},children:f}),g(w("cryptoBacked"),c$1(u.backed)),u.iouID?g(w("cryptoUnbacked"),c$1(u.unbacked),u.unbacked===0):null,jsx("div",{style:{height:1,background:a.line}}),g(w("cryptoTotal"),c$1(u.total)),u.iouID?jsx("span",{style:{fontSize:12,color:a.textDim,lineHeight:1.35},children:w("cryptoIouHint")}):null]}):null]})}var Ut=createContext(()=>{});function oe(){return useContext(Ut)}function It({children:e}){let{layer:t}=k();return t?createPortal(e,t):jsx(Fragment,{children:e})}var Fe=[],Tt=new Set,Pt=0,Et=false,_e=()=>{for(let e of [...Tt])e();};function Uo(e){Et!==e&&(Et=e,_e());}function Io(e){let[t]=useState(()=>Symbol("auto-popup")),[,n]=useState(0),o=useRef(false);return useEffect(()=>{if(!e){o.current=false;return}Fe.push(t);let i=()=>n(r=>r+1);return Tt.add(i),i(),()=>{let r=Fe.indexOf(t);r>=0&&Fe.splice(r,1),Tt.delete(i),_e();}},[e,t]),e?(!o.current&&Fe[0]===t&&Pt===0&&!Et&&(o.current=true),o.current):true}function Ao(e){useEffect(()=>{if(e)return Pt+=1,_e(),()=>{Pt-=1,_e();}},[e]);}function ie({children:e,onClose:t,open:n=true,title:o,width:i=400,variant:r="auto",dismissible:l=true,sound:u=true,panelStyle:d,queued:p=false}){let c=k(),f=De(),g=c.motion.durations.normal,[v,C]=useState(false),P=Io(p&&n);Ao(!p&&n);let{mounted:A,closing:E}=$e(n&&P&&!v,g),V=useRef(t);V.current=t;let we=useRef(false);useEffect(()=>{!u||!n||!P||we.current||(we.current=true,c.play("open"));},[u,n,P,c]);let M=useCallback(()=>{v||(c.play("close"),C(true));},[v,c]);useEffect(()=>{v&&!A&&V.current?.();},[v,A]);let H=l&&t!==void 0;if(useEffect(()=>{if(!H||!A)return;let G=S=>{S.key==="Escape"&&M();};return window.addEventListener("keydown",G),()=>window.removeEventListener("keydown",G)},[H,A,M]),!A)return null;let U=r==="sheet"||r==="auto"&&f==="phone",se=E,ae=U?se?`idos-sheet-out ${a.normal} ${ce} both`:`idos-sheet-in ${a.slow} ${W} both`:se?`idos-pop-out ${a.normal} ${ce} both`:`idos-pop-in ${a.slow} ${de} both`;return jsx(It,{children:jsx(Ut.Provider,{value:M,children:jsx("div",{role:"dialog","aria-modal":"true",onClick:H?M:void 0,style:{position:c.layer?"absolute":"fixed",inset:0,zIndex:20,background:a.backdrop,display:"grid",placeItems:U?"end stretch":"center",padding:U?0:16,pointerEvents:"auto",fontFamily:a.font,color:a.text,animation:`${se?"idos-fade-out":"idos-fade-in"} ${a.normal} ease both`},children:jsxs("div",{onClick:G=>G.stopPropagation(),className:"idos-scroll",style:{...I,width:U?"100%":`min(${i}px, 100%)`,maxHeight:U?"88%":"min(86vh, 100%)",overflowY:"auto",padding:U?"22px 16px calc(18px + env(safe-area-inset-bottom))":18,borderRadius:U?`${a.radius} ${a.radius} 0 0`:a.radius,display:"grid",gap:14,position:"relative",animation:ae,...d},children:[U?jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:8,left:"50%",width:44,height:5,marginLeft:-22,borderRadius:3,background:a.line}}):null,o?jsx("div",{style:{...x,fontSize:21,textAlign:"center",fontFamily:a.font,padding:"0 30px"},children:o}):null,t?jsx(ye,{glyph:"close",label:w("close"),onClick:M,size:36,tone:"red",style:{position:"absolute",top:U?12:8,right:U?12:8,border:"3px solid #fff"}}):null,e]})})})})}function Do({title:e,children:t,confirmLabel:n,tone:o="green",onConfirm:i,onClose:r}){return jsxs(ie,{title:e,onClose:r,width:380,children:[t,jsx($o,{confirmLabel:n,tone:o,onConfirm:i})]})}function $o({confirmLabel:e,tone:t,onConfirm:n}){let o=oe(),[i,r]=useState(false);return jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[jsx(B,{tone:"grey",onClick:o,children:w("cancel")}),jsx(B,{tone:t,busy:i,onClick:()=>{r(true),Promise.resolve(n()).then(l=>{r(false),l!==true&&o();});},children:e??w("confirm")})]})}function Oo({title:e,icon:t,onClose:n,children:o,open:i=true,back:r=false,balances:l=true}){let u=k(),[d,p]=useState(false),{mounted:c,closing:f}=$e(i&&!d,u.motion.durations.normal),g=useRef(n);g.current=n,useEffect(()=>{u.play("open");},[]),useEffect(()=>{d&&!c&&g.current();},[d,c]);let v=useCallback(()=>{u.play("close"),p(true);},[u]);return useEffect(()=>{if(!c)return;let C=P=>{P.key==="Escape"&&v();};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[c,v]),c?jsx(It,{children:jsx(Ut.Provider,{value:v,children:jsxs("div",{style:{position:u.layer?"absolute":"fixed",inset:0,zIndex:10,display:"grid",gridTemplateRows:"auto minmax(0, 1fr)",background:tt,color:a.text,fontFamily:a.font,pointerEvents:"auto",animation:`${f?"idos-window-out":"idos-window-in"} ${a.normal} ${f?ce:W} both`},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 14px",borderBottom:`2px solid ${a.panelEdge}`,background:a.wellSoft},children:[r?jsx(ye,{glyph:"back",label:w("back"),onClick:v,size:38}):null,t?jsx(L,{glyph:t,size:30}):null,jsx("div",{style:{...x,fontSize:20,flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),l?jsx(Bo,{}):null,r?null:jsx(ye,{glyph:"close",label:w("close"),onClick:v,size:38,tone:"red"})]}),jsx("div",{className:"idos-scroll",style:{overflowY:"auto",padding:"14px 14px 24px"},children:o})]})})}):null}function Bo(){let e=St(),t=De(),n=t==="phone"?e.slice(0,2):e;return jsx("div",{style:{display:"flex",gap:6,flex:"none"},children:n.map(([o,i])=>jsx(Ct,{currencyID:o,amount:i,size:t==="phone"?18:22},o))})}var qe={info:"blue",success:"green",warning:"gold",error:"red",reward:"gold"},At={blue:a.blue,green:a.green,gold:a.gold,red:a.red,grey:a.textDim};function Ko({level:e,size:t}){let n={fill:"none",stroke:"currentColor",strokeWidth:2.6,strokeLinecap:"round",strokeLinejoin:"round"};return jsx("svg",{width:t,height:t,viewBox:"0 0 24 24","aria-hidden":"true",children:e==="success"?jsx("path",{d:"M5 12.5l4.5 4.5L19 7.5",...n}):e==="error"?jsx("path",{d:"M7 7l10 10M17 7L7 17",...n}):e==="warning"?jsxs(Fragment,{children:[jsx("path",{d:"M12 6v8",...n}),jsx("circle",{cx:"12",cy:"18.2",r:"1.6",fill:"currentColor"})]}):e==="reward"?jsxs(Fragment,{children:[jsx("rect",{x:"4",y:"10",width:"16",height:"10",rx:"1.5",...n}),jsx("path",{d:"M3 10h18M12 10v10M12 10c-2-4-6-4-6-1.5S10 10 12 10zM12 10c2-4 6-4 6-1.5S14 10 12 10z",...n,strokeWidth:2.2})]}):jsxs(Fragment,{children:[jsx("circle",{cx:"12",cy:"6.5",r:"1.6",fill:"currentColor"}),jsx("path",{d:"M12 11v7",...n})]})})}function bn({level:e,icon:t,size:n}){return jsx("span",{style:{...ze(qe[e]),width:n,height:n,flex:"none",borderRadius:"50%",display:"grid",placeItems:"center",boxShadow:`0 2px 0 ${a.edge}, inset 0 2px 0 rgba(255,255,255,.3)`},children:t?jsx(L,{glyph:t,size:n*.62}):jsx(Ko,{level:e,size:n*.56})})}function vn({source:e}){return jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:11,fontWeight:800,letterSpacing:.3,textTransform:"uppercase",color:a.textDim,minWidth:0},children:[e.icon?jsx(L,{glyph:e.icon,size:14}):null,jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.label})]})}function Fo(e){return useSyncExternalStore(e.subscribe,()=>e.toasts,()=>e.toasts),useSyncExternalStore(e.subscribe,()=>e.currentAlert,()=>e.currentAlert),e}function xn({store:e}){Fo(e);let t=e.currentAlert;return jsxs(Fragment,{children:[jsx("div",{style:{position:"absolute",top:"calc(env(safe-area-inset-top, 0px) + 10px)",left:"50%",transform:"translateX(-50%)",width:"min(440px, calc(100% - 20px))",display:"flex",flexDirection:"column",gap:8,zIndex:45,pointerEvents:"none"},children:e.toasts.map(n=>jsx(Go,{store:e,toast:n},n.id))}),t?jsx(Wo,{store:e,alert:t,queued:e.queued},t.id):null]})}function Go({store:e,toast:t}){let n=k(),o=t.input,i=qe[t.level],r=o.duration??Je[t.level],l=e.source(o.source),u=o.actions?.[0],[d,p]=useState(false),[c,f]=useState(false),g=n.motion.durations.normal,v=useRef(()=>{});v.current=()=>{d||(p(true),setTimeout(()=>e.dismiss(t.id),g));};let C=useRef(r);useEffect(()=>{C.current=r;},[r,t.revision]),useEffect(()=>{if(r<=0||c||d)return;let E=Date.now(),V=setTimeout(()=>v.current(),C.current);return ()=>{clearTimeout(V),C.current-=Date.now()-E;}},[r,c,d,t.revision]);let P=l?.open,A=E=>{E.onPress?.(),E.openFeature&&e.source(E.openFeature)?.open?.(),v.current();};return jsxs("div",{role:t.level==="error"||t.level==="warning"?"alert":"status",onPointerEnter:()=>f(true),onPointerLeave:()=>f(false),onClick:P?()=>{P(),v.current();}:void 0,className:P?"idos-press":void 0,style:{...I,position:"relative",overflow:"hidden",pointerEvents:"auto",cursor:P?"pointer":"default",display:"flex",gap:10,alignItems:"flex-start",padding:"10px 10px 12px 14px",boxShadow:`${a.panelShadow}, inset 4px 0 0 ${At[i]}`,animation:`${d?"idos-drop-out":"idos-drop-in"} ${a.normal} ease both`},children:[o.image?jsx("img",{src:o.image,alt:"",style:{width:42,height:42,flex:"none",objectFit:"cover",borderRadius:10,border:`2px solid ${At[i]}`}}):jsx(bn,{level:t.level,icon:o.icon,size:34}),jsxs("div",{style:{flex:1,minWidth:0,display:"grid",gap:2},children:[l?jsx(vn,{source:l}):null,o.title?jsx("div",{style:{...x,fontSize:15,lineHeight:1.25},children:o.title}):null,o.message?jsx("div",{style:{fontSize:13.5,fontWeight:600,lineHeight:1.35,color:o.title?a.textDim:a.text,overflowWrap:"anywhere"},children:o.message}):null,u?jsx("div",{style:{marginTop:6},onClick:E=>E.stopPropagation(),children:jsx(B,{size:"sm",tone:i,onClick:()=>A(u),children:u.label})}):null]}),t.count>1?jsxs("span",{style:{...ze(i),flex:"none",alignSelf:"center",borderRadius:999,padding:"1px 8px",fontSize:12,fontWeight:800},children:["\xD7",t.count]}):null,jsx("button",{type:"button","aria-label":w("close"),onClick:E=>{E.stopPropagation(),v.current();},style:_o,children:jsx(L,{glyph:"close",size:14})}),r>0?jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,right:0,bottom:0,height:3,background:At[i],opacity:.8,transformOrigin:"left center",animation:`idos-timer ${r}ms linear forwards`,animationPlayState:c||d?"paused":"running"}},t.revision):null]})}var _o={flex:"none",width:26,height:26,display:"grid",placeItems:"center",border:"none",borderRadius:"50%",background:a.wellSoft,color:a.textDim,cursor:"pointer",padding:0};function Wo({store:e,alert:t,queued:n}){let o=useRef(null);return useEffect(()=>e.play(t.level),[e,t.level]),jsx(ie,{queued:true,sound:false,width:380,onClose:()=>e.dismiss(t.id,o.current),children:jsx(qo,{store:e,alert:t,queued:n,chosen:o})})}function qo({store:e,alert:t,queued:n,chosen:o}){let i=oe(),r=t.input,l=qe[t.level],u=e.source(r.source),d=r.actions&&r.actions.length>0?r.actions:[{id:"ok",label:w("ok"),primary:true}],p=d.some(f=>f.primary),c=f=>{o.current=f.id??f.label,f.onPress?.(),f.openFeature&&e.source(f.openFeature)?.open?.(),i();};return jsxs("div",{role:"alertdialog","aria-label":r.title??r.message??"",style:{display:"grid",gap:12,justifyItems:"center",textAlign:"center"},children:[n>0?jsxs("span",{style:{justifySelf:"start",fontSize:12,fontWeight:800,color:a.textDim},children:["+",n]}):null,r.image?jsx("img",{src:r.image,alt:"",style:{maxWidth:"100%",maxHeight:180,objectFit:"contain",borderRadius:14}}):jsx("div",{className:t.level==="reward"?"idos-bounce":void 0,children:jsx(bn,{level:t.level,icon:r.icon,size:64})}),u?jsx(vn,{source:u}):null,r.title?jsx("div",{style:{...x,fontSize:21,fontFamily:a.font,lineHeight:1.2},children:r.title}):null,r.message?jsx("div",{style:{fontSize:15,fontWeight:600,lineHeight:1.45,color:r.title?a.textDim:a.text,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:r.message}):null,jsx("div",{style:{display:"grid",gap:8,width:"100%",marginTop:4},children:d.map((f,g)=>f.primary||!p&&g===0?jsx(B,{tone:l,onClick:()=>c(f),style:{width:"100%"},children:f.label},f.id??f.label):jsx("button",{type:"button",className:"idos-press",onClick:()=>c(f),style:Vo,children:f.label},f.id??f.label))})]})}var Vo={width:"100%",minHeight:44,borderRadius:a.buttonRadius,border:`1px solid ${a.line}`,background:a.wellSoft,color:a.text,fontFamily:a.font,fontSize:15,fontWeight:800,cursor:"pointer"};function Yo(e){return jsx(jo,{state:e})}function jo({state:e}){return jsxs(Fragment,{children:[jsx(Jo,{}),jsx(ei,{}),jsx(ni,{}),e.celebration?jsx(Qo,{lines:e.celebration.lines,title:e.celebration.options?.title,sound:e.celebration.options?.sound,onDone:e.finishCelebration},e.celebration.lines.map(t=>t.id).join()):null,jsx(xn,{store:e.notifications})]})}var Ve=560;function Qo({lines:e,title:t,sound:n="reward",onDone:o}){let i=k(),r=D(),l=c(),u=useRef(new Map),d=useRef(false);useEffect(()=>{i.play(n);},[]);let p=()=>{d.current||(d.current=true,i.fx.fly(e,c=>u.current.get(`${c.kind}:${c.id}`)?.getBoundingClientRect()??null));};return jsxs(ie,{title:t??w("youGot"),onClose:()=>{p(),o();},sound:false,variant:"center",width:420,children:[jsxs("div",{style:{position:"relative",overflow:"hidden",display:"flex",flexWrap:"wrap",gap:14,justifyContent:"center",padding:"22px 0"},children:[jsx("div",{"aria-hidden":"true",style:{position:"absolute",inset:0,overflow:"hidden",pointerEvents:"none",maskImage:"radial-gradient(closest-side, #000 35%, transparent 100%)",WebkitMaskImage:"radial-gradient(closest-side, #000 35%, transparent 100%)"},children:jsx("div",{style:{position:"absolute",width:Ve,height:Ve,left:`calc(50% - ${Ve/2}px)`,top:`calc(50% - ${Ve/2}px)`,background:`repeating-conic-gradient(color-mix(in srgb, ${a.gold} 16%, transparent) 0 12deg, transparent 12deg 24deg)`,animation:i.motion.on?"idos-rays 14s linear infinite":"none",borderRadius:"50%"}})}),e.map((c,f)=>jsxs("div",{style:{display:"grid",justifyItems:"center",gap:4,zIndex:1,animation:`idos-pop-in ${a.slow} ${de} ${i.motion.on?.12*f:0}s both`},children:[jsx("div",{ref:g=>{g&&u.current.set(`${c.kind}:${c.id}`,g);},style:{width:70,height:70,borderRadius:18,display:"grid",placeItems:"center",background:a.wellSoft,border:`2px solid ${a.line}`},children:jsx(L,{glyph:c.kind==="token"?me(c):r.iconOf(c),size:46})}),jsxs("div",{style:{...x,fontSize:16},children:["+",Ee(c)]}),jsx("div",{style:{...x,fontSize:12,color:a.textDim,fontWeight:700,maxWidth:96,textAlign:"center"},children:Ke(c,r,l)})]},`${c.kind}:${c.id}`))]}),jsx(Xo,{onPress:p})]})}function Xo({onPress:e}){let t=oe();return jsx(B,{attract:true,onClick:()=>{e(),t();},children:w("great")})}function Jo(){let e=ge(t=>t.flights);return jsx(Fragment,{children:e.map(t=>jsx(Zo,{flight:t},t.key))})}function Zo({flight:e}){let t=useRef(null),n=k(),o=D();return useLayoutEffect(()=>{let i=t.current;if(!i||typeof i.animate!="function"){n.fx.arrive(e.key);return}let r=e.to.x-e.from.x,l=e.to.y-e.from.y,u=(Math.random()-.5)*120,d=i.animate([{transform:"translate(0px, 0px) scale(.4)",opacity:0},{transform:`translate(${u}px, ${ -40-Math.random()*40}px) scale(1.15)`,opacity:1,offset:.3},{transform:`translate(${r}px, ${l}px) scale(.55)`,opacity:1}],{duration:e.durationMs,delay:e.delayMs,easing:"cubic-bezier(.45,.05,.55,.95)",fill:"both"});return d.onfinish=()=>n.fx.arrive(e.key),()=>{d.onfinish=null,d.cancel();}},[]),jsx("div",{ref:t,style:{position:"absolute",left:e.from.x-16,top:e.from.y-16,width:32,height:32,zIndex:60,pointerEvents:"none",opacity:0},children:jsx(L,{glyph:o.iconOf(e.line),size:32})})}var kn=["#ffd24a","#ffffff","#59d35b","#4fb1ff","#ff7ab8"];function ei(){let e=ge(t=>t.bursts);return jsx(Fragment,{children:e.map(t=>jsx(ti,{x:t.at.x,y:t.at.y},t.key))})}function ti({x:e,y:t}){let n=useRef(null);return useLayoutEffect(()=>{let o=n.current;if(!o)return;let i=[];return o.querySelectorAll("span").forEach((r,l)=>{if(typeof r.animate!="function")return;let u=l/16*Math.PI*2+Math.random()*.3,d=50+Math.random()*60;i.push(r.animate([{transform:"translate(0,0) scale(1)",opacity:1},{transform:`translate(${Math.cos(u)*d}px, ${Math.sin(u)*d+20}px) scale(.2)`,opacity:0}],{duration:650+Math.random()*200,easing:"cubic-bezier(.1,.8,.3,1)",fill:"forwards"}));}),()=>i.forEach(r=>r.cancel())},[]),jsx("div",{ref:n,style:{position:"absolute",left:e,top:t,width:0,height:0,zIndex:61,pointerEvents:"none"},children:Array.from({length:16},(o,i)=>jsx("span",{style:{position:"absolute",left:-4,top:-4,width:8,height:8,borderRadius:i%3===0?2:"50%",background:kn[i%kn.length]}},i))})}function ni(){let e=c(),[t,n]=useState(false);return useEffect(()=>{if(!e)return;let o,i=e.on("error:connection",()=>{n(true),clearTimeout(o),o=setTimeout(()=>n(false),5e3);});return ()=>{i(),clearTimeout(o);}},[e]),t?jsx("div",{role:"alert",style:{position:"absolute",top:"calc(8px + env(safe-area-inset-top))",left:"50%",transform:"translateX(-50%)",zIndex:45,padding:"6px 14px",borderRadius:999,background:a.red,...x,color:a.onRed,textShadow:a.onRedOutline,fontSize:13,pointerEvents:"none",animation:`idos-rise-in ${a.normal} ease both`},children:w("offline")}):null}var ii=e=>dt(e);function Cn(){return useSyncExternalStore(ii,q,q)}function ri({style:e}){let t=Cn();return jsx(Lt,{tabs:[{id:"en",label:"English"},{id:"ru",label:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"}],value:t,onChange:ut,style:e})}var Bt=["economy","events","social","profile","other"];function Ln(e){return [...e].sort((t,n)=>{let o=Bt.indexOf(t.group??"other")-Bt.indexOf(n.group??"other");return o!==0?o:(t.order??100)-(n.order??100)||t.label.localeCompare(n.label)})}function ai({items:e,onOpen:t}){let{play:n}=k(),o=Nt(),i=vt(Ln(e),l=>l.group??"other"),r=0;return jsx("div",{style:{display:"grid",gap:18},children:i.map(l=>jsxs("div",{children:[jsx(Rt,{children:Bt.includes(l.key)?w(l.key):l.key}),jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(104px, 1fr))",gap:10},children:l.items.map(u=>jsxs("button",{type:"button",className:"idos-press","data-tutorial-anchor":`feature:${u.id}`,onClick:()=>{n("click"),t(u.id);},style:{...I,position:"relative",padding:"12px 6px 10px",display:"grid",justifyItems:"center",gap:6,cursor:"pointer",color:a.text,...o(r++)},children:[jsx(L,{glyph:u.icon??"box",size:40}),jsx("span",{style:{...x,fontSize:13,textAlign:"center",lineHeight:1.15},children:u.label}),jsx(be,{count:u.badge??0})]},u.id))})]},l.key))})}export{be as Badge,B as Button,So as Card,ko as Center,Do as ConfirmPopup,Mo as CryptoBalanceChip,z as DEFAULT_PLAYER_PREFS,Ft as DEFAULT_UI_CONFIG,an as DESKTOP_MIN_PX,ce as EASE_IN,W as EASE_OUT,de as EASE_POP,xo as EmptyState,ai as FeatureGrid,No as Field,Q as FxStore,ln as GLYPHS,L as Icon,ye as IconButton,bo as ItemTile,nt as KIT_CSS,It as KitPortal,lt as LANGUAGE_EVENT,at as LANGUAGE_KEY,qe as LEVEL_TONE,ri as LanguageSwitch,Le as NotificationStore,ne as ON_TONE,ie as Popup,vo as ProgressBar,ft as RARITY_ORDER,gn as ResourceBadge,Ct as ResourceCounter,yo as ResourceList,Re as SOUND_PRESETS,Rt as SectionTitle,Lo as Select,pn as Spinner,sn as TABLET_MIN_PX,Je as TOAST_DURATION,Lt as Tabs,Ro as TextArea,Co as TextInput,wo as Timer,je as UI_SOUND_EVENTS,Qn as UiKitProvider,ue as UiSoundEngine,Oo as Window,pt as bundleLines,fn as buttonStyle,so as canAfford,Z as configSection,io as costLines,yt as countdown,qt as counterKeys,Ze as createNotificationStore,kt as cryptoBalance,Ue as currencyGlyph,Nn as defineUiConfig,Xe as effectiveVolume,oo as errorText,K as formatAmount,ht as formatCryptoAmount,rn as grantLines,ro as grantedBy,vt as groupBy,Wt as iconsFor,uo as iouCurrencies,xt as iouCurrencyOf,un as isGlyph,bt as itemDefinitions,wt as itemGlyph,he as layoutFor,nn as makeT,on as mergeLines,le as motionDurations,dt as onLanguageChange,x as outlined,I as panel,Qe as parsePlayerPrefs,q as pickLanguage,eo as plural,lo as rarityRank,Yo as renderKitOverlays,_t as resolveSound,Ce as resolveUiConfig,Ke as resourceName,tt as screenBackground,Uo as setAutoPopupsHeld,ut as setLanguage,Ln as sortFeatures,et as themeVars,me as tokenGlyph,mt as tokenName,gt as tokenParts,ze as toneSurface,w as uiT,cn as useAnimatedNumber,St as useBalances,D as useCatalog,Hn as useCelebrate,Oe as useCounterValue,De as useGameLayout,Cn as useLanguage,go as useLayout,qn as useMotion,jn as useNotify,mo as useNow,Vn as usePlayerPrefs,oe as usePopupClose,$e as usePresence,Wn as useSound,Nt as useStagger,Yn as useToast,k as useUiKit,a as v,Ne as well};
|
|
39
|
+
`;function tn(e){return !Number.isFinite(e)||e<=0?0:Math.max(2,Math.min(8,Math.ceil(Math.log2(e+1))))}function nn(e){return e.kind==="currency"?[e.id]:e.kind==="item"?[`item:${e.id}`,"inventory"]:[]}var te=class{listeners=new Set;nextKey=1;motion=null;player=null;layerEl=null;holds=new Map;reserved=new Map;flights=[];bursts=[];version=0;subscribe=t=>(this.listeners.add(t),()=>this.listeners.delete(t));setMotion(t){this.motion=t;}setPlayer(t){this.player=t;}setLayer(t){this.layerEl=t;}holding(t){return (this.holds.get(t)??0)+(this.reserved.get(t)??0)}reserve(t){if(this.motion?.rewardFlight){for(let n of t)n.kind==="currency"&&this.reserved.set(n.id,(this.reserved.get(n.id)??0)+1);this.changed();}}release(t){let n=false;for(let o of t){if(o.kind!=="currency")continue;let i=(this.reserved.get(o.id)??0)-1;i<=0?this.reserved.delete(o.id):this.reserved.set(o.id,i),n=true;}n&&this.changed();}fly(t,n){if(!this.motion?.rewardFlight||!this.layerEl||typeof document>"u")return;let o=this.layerEl.getBoundingClientRect(),i=Math.max(200,this.motion.durations.slow+180),r=[];for(let a of t){let d=nn(a).map(y=>({key:y,el:document.querySelector(`[data-resource-counter="${on(y)}"]`)})).find(y=>y.el&&jn(y.el));if(!d?.el)continue;let u=ct(d.el.getBoundingClientRect(),o),m=n(a),c=m?ct(m,o):{x:o.width/2,y:o.height/2},g=tn(a.amount);for(let y=0;y<g;y++)r.push({key:this.nextKey++,line:a,from:{x:c.x+(Math.random()-.5)*36,y:c.y+(Math.random()-.5)*36},to:u,delayMs:y*55,durationMs:i,target:d.key}),this.holds.set(d.key,(this.holds.get(d.key)??0)+1);}this.release(t),r.length!==0&&(this.flights=[...this.flights,...r],this.changed());}arrive(t){let n=this.flights.find(i=>i.key===t);if(!n)return;this.flights=this.flights.filter(i=>i.key!==t);let o=(this.holds.get(n.target)??1)-1;o<=0?(this.holds.delete(n.target),Qn(n.target)):this.holds.set(n.target,o),this.player?.(n.line.kind==="currency"?"coin":"countTick"),this.changed();}burst(t){if(!this.motion?.particles||!this.layerEl||!t)return;let n=ct(t.getBoundingClientRect(),this.layerEl.getBoundingClientRect()),o=this.nextKey++;this.bursts=[...this.bursts,{key:o,at:n}],this.changed(),setTimeout(()=>{this.bursts=this.bursts.filter(i=>i.key!==o),this.changed();},900);}changed(){this.version+=1;for(let t of this.listeners)t();}};function ct(e,t){return {x:e.left-t.left+e.width/2,y:e.top-t.top+e.height/2}}function jn(e){let t=e.getBoundingClientRect();return t.width>0&&t.height>0}function Qn(e){if(!(typeof document>"u"))for(let t of document.querySelectorAll(`[data-resource-counter="${on(e)}"]`))t.classList.remove("idos-bump"),t.offsetWidth,t.classList.add("idos-bump");}function on(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}var rn=".idos-bounce, .idos-shine, .idos-glow, .idos-pulse",an="data-idos-idle",ne=(e,t)=>e+Math.random()*(t-e);function sn(e){if(!(e instanceof HTMLElement)||e.hasAttribute(an))return;e.setAttribute(an,"");let t=e.style,n=ne(1.6,2.8);t.setProperty("--idos-float-speed",n.toFixed(2)),t.setProperty("--idos-float-phase",(-ne(0,n)).toFixed(2)),t.setProperty("--idos-float-amp",ne(3,7).toFixed(1)),t.setProperty("--idos-float-tilt",((Math.random()<.5?-1:1)*ne(0,1.5)).toFixed(2));let o=ne(5,7.5);t.setProperty("--idos-shine-speed",o.toFixed(2)),t.setProperty("--idos-shine-phase",(-ne(0,o)).toFixed(2));}function ft(e){e instanceof Element&&(e.matches(rn)&&sn(e),e.querySelectorAll(rn).forEach(sn));}function ln(e){if(typeof MutationObserver>"u")return ()=>{};ft(e);let t=new MutationObserver(n=>{for(let o of n)o.type==="attributes"?ft(o.target):o.addedNodes.forEach(ft);});return t.observe(e,{subtree:true,childList:true,attributes:true,attributeFilter:["class"]}),()=>t.disconnect()}var un="idos-ui-prefs";function to(){try{return it(typeof localStorage<"u"?localStorage.getItem(un):null)}catch{return {...H}}}function no(){try{return typeof matchMedia<"u"&&matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return false}}function cn(e,t){let n=t.reducedMotion||e.motion.respectReducedMotion&&no(),o=e.motion.enabled&&!n;return {on:o,durations:pe(e.motion,n),intensity:o?e.motion.intensity:0,rewardFlight:o&&e.motion.rewardFlight,particles:o&&e.motion.particles,stagger:o&&e.motion.stagger}}var dn=Ne(null),oo=new te,io={config:dn,prefs:H,setPrefs:()=>{},motion:cn(dn,H),play:()=>{},layer:null,fx:oo,celebrate:()=>{},toast:()=>{},notify:{toast:()=>"",alert:()=>Promise.resolve(null),dismiss:()=>{}},provided:false},fn=createContext(io);function R(){return useContext(fn)}function ro(){return R().play}function ao(){return R().motion}function so(){let e=R();return [e.prefs,e.setPrefs]}function lo(){return R().celebrate}function uo(){return R().toast}function co(){return R().notify}function fo({config:e,children:t,overlays:n,notifications:o}){let i=useMemo(()=>Ne(e),[e]),[r,a]=useState(to),d=useCallback(M=>{a(J=>{let Qt={...J,...M};try{localStorage.setItem(un,JSON.stringify(Qt));}catch{}return Qt});},[]),u=useRef(null);u.current??=new ge(i.sound,r),useEffect(()=>{u.current?.update(i.sound,r);},[i.sound,r]),useEffect(()=>{let M=u.current;return M?.attach(),()=>M?.dispose()},[]);let m=useCallback(M=>u.current?.play(M),[]),c=useMemo(()=>cn(i,r),[i,r]),g=useRef(new te).current;g.setMotion(c),g.setPlayer(m);let[y,p]=useState(null);useEffect(()=>g.setLayer(y),[g,y]);let[h,U]=useState(null),D=useRef(h);D.current=h;let P=useCallback((M,J)=>{if(M.length===0){J?.onDone?.();return}g.reserve(M),U({lines:M,options:J});},[g]),G=useCallback(()=>{let M=D.current;M&&g.release(M.lines),U(null),M?.options?.onDone?.();},[g]),q=useRef(null),$=o??(q.current??=st());useEffect(()=>($.setPlayer(m),()=>$.setPlayer(null)),[$,m]);let Z=useMemo(()=>({toast:M=>$.toast(M),alert:M=>$.alert(M),dismiss:M=>$.dismiss(M)}),[$]),B=useCallback((M,J="info")=>{$.toast({message:M,level:J});},[$]),ce=useMemo(()=>({config:i,prefs:r,setPrefs:d,motion:c,play:m,layer:y,fx:g,celebrate:P,toast:B,notify:Z,provided:true}),[i,r,d,c,m,y,g,P,B,Z]),fe=useRef(null);useEffect(()=>fe.current?ln(fe.current):void 0,[]);let V=!c.on;return jsx(fn.Provider,{value:ce,children:jsxs("div",{ref:fe,"data-idos-ui":"","data-idos-motion":V?"off":"on",style:{display:"contents",color:"var(--idos-ui-text)",...lt(i,V)},children:[jsx("style",{children:ut}),t,jsx("div",{ref:p,"data-idos-ui-layer":"",style:{position:"absolute",inset:0,zIndex:50,pointerEvents:"none",fontFamily:"var(--idos-ui-font)",overflow:"hidden"},children:n?.({celebration:h,finishCelebration:G,notifications:$})})]})})}function xe(e){let{fx:t}=R();return useSyncExternalStore(t.subscribe,()=>e(t),()=>e(t))}var Ee=typeof window<"u"?useLayoutEffect:useEffect;var mt="idos:language",yt="idos:language";function go(){if(typeof navigator>"u")return "en";let e=(navigator.language||"").toLowerCase();return ["ru","kk","uk","be","ky","uz","tg"].some(t=>e.startsWith(t))?"ru":"en"}function mo(){try{let e=globalThis.localStorage?.getItem(mt);return e==="en"||e==="ru"?e:null}catch{return null}}var Ie=mo(),$e=new Set;function Q(){return Ie??go()}function ht(e){if(e!=="en"&&e!=="ru")return;let t=e!==Q();Ie=e;try{globalThis.localStorage?.setItem(mt,e);}catch{}if(t){for(let n of [...$e])n(e);typeof window<"u"&&typeof CustomEvent<"u"&&window.dispatchEvent(new CustomEvent(yt,{detail:e}));}}function bt(e){return $e.add(e),()=>$e.delete(e)}typeof window<"u"&&window.addEventListener(yt,e=>{let t=e.detail;if((t==="en"||t==="ru")&&t!==Ie){Ie=t;for(let n of [...$e])n(t);}});function pn(e,t,n){return o=>((n??Q())==="ru"?t:e)[o]??e[o]??o}function yo(e,t,n=Q()){let[o,i=o,r=i]=t.split("|"),a=new Intl.PluralRules(n).select(Math.abs(Math.trunc(e)));return n==="ru"?a==="one"?o:a==="few"?i:r:a==="one"?o:i}var ho={close:"Close",back:"Back",confirm:"Confirm",cancel:"Cancel",youGot:"You got",great:"Great!",loading:"Loading\u2026",ok:"OK",loadingNamed:"Loading {name}\u2026",stillLoading:"Still loading \u2014 the first start can take a little longer",retry:"Retry",error:"Something went wrong",notEnough:"Not enough resources",dailyLimitReached:"Today's reward limit is reached \u2014 come back tomorrow",offline:"No connection. Retrying\u2026",more:"More",menu:"Menu",nothingHere:"Nothing here yet",economy:"Economy",events:"Activities",social:"Social",profile:"Profile",other:"Other",free:"Free",claim:"Claim",claimAll:"Claim all",rewards:"Rewards",premium:"Premium",tokenEvent:"Event points",tokenSeason:"Season status",tokenQuest:"Quest points",tokenScore:"Rating points",cryptoTotal:"Balance",cryptoBacked:"Crypto",cryptoUnbacked:"IOU (not backed yet)",cryptoIouHint:"IOUs spend in the app like crypto; the developer backs them with real crypto later."},bo={close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",back:"\u041D\u0430\u0437\u0430\u0434",confirm:"\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",youGot:"\u0412\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u043B\u0438",great:"\u041E\u0442\u043B\u0438\u0447\u043D\u043E!",loading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u2026",ok:"\u041F\u043E\u043D\u044F\u0442\u043D\u043E",loadingNamed:"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043C \xAB{name}\xBB\u2026",stillLoading:"\u0415\u0449\u0451 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044F \u2014 \u043F\u0435\u0440\u0432\u044B\u0439 \u0437\u0430\u043F\u0443\u0441\u043A \u0431\u044B\u0432\u0430\u0435\u0442 \u0434\u043E\u043B\u044C\u0448\u0435",retry:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",error:"\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A",notEnough:"\u041D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u043E\u0432",dailyLimitReached:"\u0421\u0443\u0442\u043E\u0447\u043D\u044B\u0439 \u043B\u0438\u043C\u0438\u0442 \u043D\u0430\u0433\u0440\u0430\u0434 \u0438\u0441\u0447\u0435\u0440\u043F\u0430\u043D \u2014 \u043F\u0440\u0438\u0445\u043E\u0434\u0438\u0442\u0435 \u0437\u0430\u0432\u0442\u0440\u0430",offline:"\u041D\u0435\u0442 \u0441\u0432\u044F\u0437\u0438. \u041F\u0440\u043E\u0431\u0443\u0435\u043C \u0441\u043D\u043E\u0432\u0430\u2026",more:"\u0415\u0449\u0451",menu:"\u041C\u0435\u043D\u044E",nothingHere:"\u041F\u043E\u043A\u0430 \u043F\u0443\u0441\u0442\u043E",economy:"\u042D\u043A\u043E\u043D\u043E\u043C\u0438\u043A\u0430",events:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F",social:"\u0414\u0440\u0443\u0437\u044C\u044F \u0438 \u043E\u0431\u0449\u0435\u043D\u0438\u0435",profile:"\u041F\u0440\u043E\u0444\u0438\u043B\u044C",other:"\u0420\u0430\u0437\u043D\u043E\u0435",free:"\u0411\u0435\u0441\u043F\u043B\u0430\u0442\u043D\u043E",claim:"\u0417\u0430\u0431\u0440\u0430\u0442\u044C",claimAll:"\u0417\u0430\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0451",rewards:"\u041D\u0430\u0433\u0440\u0430\u0434\u044B",premium:"\u041F\u0440\u0435\u043C\u0438\u0443\u043C",tokenEvent:"\u041E\u0447\u043A\u0438 \u0438\u0432\u0435\u043D\u0442\u0430",tokenSeason:"\u0421\u0442\u0430\u0442\u0443\u0441 \u0441\u0435\u0437\u043E\u043D\u0430",tokenQuest:"\u041E\u0447\u043A\u0438 \u0437\u0430\u0434\u0430\u043D\u0438\u0439",tokenScore:"\u041E\u0447\u043A\u0438 \u0440\u0435\u0439\u0442\u0438\u043D\u0433\u0430",cryptoTotal:"\u0411\u0430\u043B\u0430\u043D\u0441",cryptoBacked:"\u041A\u0440\u0438\u043F\u0442\u0430",cryptoUnbacked:"\u0420\u0430\u0441\u043F\u0438\u0441\u043A\u0438 (\u043F\u043E\u043A\u0430 \u043D\u0435 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0435\u043D\u044B)",cryptoIouHint:"\u0420\u0430\u0441\u043F\u0438\u0441\u043A\u0438 \u0442\u0440\u0430\u0442\u044F\u0442\u0441\u044F \u0432 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0438 \u043A\u0430\u043A \u043A\u0440\u0438\u043F\u0442\u0430; \u0440\u0430\u0437\u0440\u0430\u0431\u043E\u0442\u0447\u0438\u043A \u043F\u043E\u0437\u0436\u0435 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0442 \u0438\u0445 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0439 \u043A\u0440\u0438\u043F\u0442\u043E\u0439."},w=pn(ho,bo);function xo(e){return e?/insufficient|not enough|недостаточно|NOT_ENOUGH/i.test(e)?w("notEnough"):/CRYPTO_SERVER_GRANT_CAP_EXCEEDED/.test(e)?w("dailyLimitReached"):e.length>140?`${e.slice(0,140)}\u2026`:e:w("error")}function kt(e){let t=[];for(let n of e?.Entries??[]){if(!n)continue;if(n.Type==="CryptoCurrency"&&n.CurrencyID&&n.AmountUsd!=null){let i=Number(n.AmountUsd);Number.isFinite(i)&&i>0&&t.push({kind:"crypto",id:n.CurrencyID,amount:i,usd:true});continue}let o=Number(n.Amount??0);!Number.isFinite(o)||o<=0||(n.Type==="VirtualCurrency"&&n.CurrencyID?t.push({kind:"currency",id:n.CurrencyID,amount:o}):n.Type==="CryptoCurrency"&&n.CurrencyID?t.push({kind:"crypto",id:n.CurrencyID,amount:o}):n.Type==="Item"&&n.ItemID?t.push({kind:"item",id:n.ItemID,amount:o}):t.push({kind:"other",id:n.CurrencyID??n.ItemID??n.Type??"?",amount:o}));}for(let n of e?.EventTokens??[]){let o=n?.Address?.Type,i=(n?.Address?.EntityID??"").split(":")[0];if(!o||!i)continue;let r=Number(n?.Applied??n?.Amount??0);!Number.isFinite(r)||r<=0||t.push({kind:"token",id:`${o}:${i}`,amount:r});}return gn(t)}function wt(e){let t=e.id.indexOf(":");return t<0?{system:e.id,entity:""}:{system:e.id.slice(0,t),entity:e.id.slice(t+1)}}function ve(e){switch(wt(e).system){case "TimedEvent":return "star";case "Season":return "trophy";case "Quest":return "quest";case "Leaderboard":return "crown";default:return "ticket"}}function St(e,t){let{system:n,entity:o}=wt(e);return n==="TimedEvent"?(t?ie(t,"TimedEvent")?.Definitions?.[o]?.Content?.Token?.DisplayName:null)||w("tokenEvent"):n==="Season"?w("tokenSeason"):n==="Quest"?w("tokenQuest"):n==="Leaderboard"?w("tokenScore"):e.id}function gn(e){let t=new Map;for(let n of e){let o=`${n.kind}:${n.id}${n.usd?":usd":""}`,i=t.get(o);i?i.amount+=n.amount:t.set(o,{...n});}return [...t.values()]}function mn(e){return kt(e?.Standard)}function vo(e){return kt(e?.Standard)}function ko(e){let t=e?.Resources?.Grant;return mn(t)}function wo(e,t,n){return e.every(o=>o.kind==="currency"?Number(t?.[o.id]?.Amount??0)>=o.amount:o.kind==="crypto"&&n&&!o.usd?Number(n[o.id]?.Amount??0)>=o.amount:true)}function Ae(e){return e.usd?`$${So(e.amount)}`:z(e.amount)}function So(e){return e.toFixed(2).replace(/\.00$/,"")}function z(e){if(!Number.isFinite(e))return "0";let t=Math.abs(e);return t>=1e9?`${xt(e/1e9)}B`:t>=1e6?`${xt(e/1e6)}M`:t>=1e5?`${xt(e/1e3)}K`:Math.round(e).toLocaleString("en-US").replace(/,/g," ")}function Rt(e){if(!Number.isFinite(e))return "0";let t=Math.abs(e);if(t>=1e5)return z(e);let n=t>=100?1:t>=1?2:4;return e.toLocaleString("en-US",{maximumFractionDigits:n}).replace(/,/g," ")}function xt(e){return e.toFixed(2).replace(/\.?0+$/,"")}function Ct(e,t){if(!e)return null;let n=new Date(e);if(n.getUTCFullYear()>=9e3)return null;let o=n.getTime()-t;if(!Number.isFinite(o)||o<=0)return null;let i=Math.floor(o/1e3),r=Math.floor(i/3600),a=Math.floor(i%3600/60),d=i%60;return r>=24?`${Math.floor(r/24)}d ${r%24}h`:r>0?`${r}h ${String(a).padStart(2,"0")}m`:`${a}m ${String(d).padStart(2,"0")}s`}var yn=640,hn=1024;function ke(e){return e>=hn?"desktop":e>=yn?"tablet":"phone"}function ie(e,t){let n=e.data.config.getSection(t);return n!==void 0?n:e.data.config.titlePublicConfiguration?.[t]??void 0}function Lt(e){let t=new Map;for(let[n,o]of Object.entries(e?.Catalogs??{}))for(let[i,r]of Object.entries(o?.Items??{}))r&&t.set(r.ItemID??i,{CatalogID:n,...r});return t}var vt=["Legendary","Epic","Rare","Uncommon","Common"];function Ro(e){let t=vt.indexOf(e??"");return t<0?vt.length:t}function Nt(e,t){let n=new Map;for(let o of e){let i=t(o),r=n.get(i);r?r.push(o):n.set(i,[o]);}return [...n.entries()].map(([o,i])=>({key:o,items:i}))}function Mt(e,t){return t?.[e]?.UnbackedRewardCurrencyID||`${e}_IOU`}function Tt(e,t,n){let o=Number(e?.InventoryV2?.CryptoCurrencies?.[t]?.Amount??0)||0,i=Mt(t,n),r=e?.InventoryV2?.VirtualCurrencies?.[i],a=r&&Number(r.Amount??0)||0;return {currencyID:t,backed:o,unbacked:a,total:o+a,iouID:r?i:null}}function Co(e){return new Set(Object.keys(e??{}).map(t=>Mt(t,e)))}var xn=["coin","gem","potion","scroll","sword","shield","crown","gift","bag","box","trophy","calendar","star","check","lock","shop","chest","quest","user","logout","copy","hero","hammer","market","flame","ticket","friends","chat","link","swords","gear","globe","sound","mute","bell","bulb","menu","close","back","plus","energy","heart","offer","clock","trash","edit"];function Ut(e){return xn.includes(e)}function De(e){return /^(ge|gem|gems|dia|diamond|cr|crystal)/i.test(e)?"gem":/^(en|energy|dice|di)$/i.test(e)?"energy":"coin"}function Pt(e,t,n){let o={potion:"potion",scroll:"scroll",weapon:"sword",sword:"sword",armor:"shield",shield:"shield",helmet:"hero",crown:"crown",chest:"chest",lootbox:"chest",gift:"gift",ticket:"ticket"};for(let r of [...e??[],t??""]){let a=o[r.toLowerCase()];if(a)return a}let i=(n??"").toLowerCase();for(let[r,a]of Object.entries(o))if(i.includes(r))return a;return "box"}function Et(e){return e?/^(https?:|\/|data:)/.test(e)?e:/[/\\]/.test(e)?null:e:null}var bn=/^(https?:|\/|data:)/,Lo=/[\\/]|[A-Za-z0-9_]{3,}/;function N({glyph:e,size:t=24,color:n,fallback:o="box"}){let i=!Ut(e)&&!bn.test(e)&&Lo.test(e)?o:e;return Ut(i)?jsx("svg",{width:t,height:t,viewBox:"0 0 32 32","aria-hidden":"true",style:{flex:"none",display:"block"},children:No(i,n)}):bn.test(i)?jsx("img",{src:i,alt:"",width:t,height:t,style:{flex:"none",display:"block",objectFit:"contain"}}):jsx("span",{"aria-hidden":"true",style:{flex:"none",display:"inline-grid",placeItems:"center",width:t,height:t,fontSize:t*.8,lineHeight:1},children:i})}function No(e,t){switch(e){case "coin":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"17",r:"12",fill:"#c77a0c"}),jsx("circle",{cx:"16",cy:"15",r:"12",fill:t??"#ffcf3a"}),jsx("circle",{cx:"16",cy:"15",r:"8.5",fill:"none",stroke:"#e89a12",strokeWidth:"2"}),jsx("path",{d:"M16 9.5v11M13 12.5h4.5a2 2 0 010 4H13",stroke:"#b86d06",strokeWidth:"2.2",fill:"none",strokeLinecap:"round"})]});case "gem":return jsxs(Fragment,{children:[jsx("path",{d:"M9 5h14l6 8-13 15L3 13z",fill:t??"#5ce1ff"}),jsx("path",{d:"M9 5l3 8h8l3-8M3 13h26M12 13l4 15 4-15",fill:"none",stroke:"#1f8fc7",strokeWidth:"1.6",strokeLinejoin:"round"}),jsx("path",{d:"M11 7l2 5",stroke:"#fff",strokeWidth:"1.6",strokeLinecap:"round",opacity:".8"})]});case "potion":return jsxs(Fragment,{children:[jsx("rect",{x:"12.5",y:"3",width:"7",height:"6",rx:"1.5",fill:"#c9a36a"}),jsx("path",{d:"M13 9h6v4l6 8a7 7 0 01-6 9h-6a7 7 0 01-6-9l6-8z",fill:t??"#ff5a7a"}),jsx("path",{d:"M9 21h14",stroke:"#fff",strokeWidth:"1.5",opacity:".45"}),jsx("circle",{cx:"13",cy:"22",r:"1.6",fill:"#fff",opacity:".7"})]});case "scroll":return jsxs(Fragment,{children:[jsx("rect",{x:"6",y:"7",width:"20",height:"18",rx:"2",fill:t??"#f3dca2"}),jsx("rect",{x:"4",y:"5",width:"4",height:"22",rx:"2",fill:"#c49a52"}),jsx("rect",{x:"24",y:"5",width:"4",height:"22",rx:"2",fill:"#c49a52"}),jsx("path",{d:"M11 12h10M11 16h10M11 20h7",stroke:"#9c7338",strokeWidth:"1.8",strokeLinecap:"round"})]});case "sword":return jsxs(Fragment,{children:[jsx("path",{d:"M22 3l7 0 0 7L14 25l-4-3z",fill:t??"#d7e3f4"}),jsx("path",{d:"M24 5L12 21",stroke:"#fff",strokeWidth:"1.4",opacity:".7"}),jsx("path",{d:"M6 19l7 7",stroke:"#8a5a26",strokeWidth:"3.4",strokeLinecap:"round"}),jsx("path",{d:"M4 27l3 -3",stroke:"#e0b44a",strokeWidth:"4",strokeLinecap:"round"})]});case "shield":return jsxs(Fragment,{children:[jsx("path",{d:"M16 3l11 4v8c0 7-5 12-11 14C10 27 5 22 5 15V7z",fill:t??"#b57a3c"}),jsx("path",{d:"M16 6l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V9z",fill:"#d89b54"}),jsx("path",{d:"M16 6v20M8 14h16",stroke:"#8a5424",strokeWidth:"1.8"})]});case "crown":return jsxs(Fragment,{children:[jsx("path",{d:"M4 11l6 5 6-9 6 9 6-5-3 14H7z",fill:t??"#ffcf3a"}),jsx("rect",{x:"7",y:"24",width:"18",height:"4",rx:"1.5",fill:"#e89a12"}),jsx("circle",{cx:"16",cy:"18",r:"2",fill:"#ff5a7a"}),jsx("circle",{cx:"10",cy:"20",r:"1.4",fill:"#5ce1ff"}),jsx("circle",{cx:"22",cy:"20",r:"1.4",fill:"#5ce1ff"})]});case "gift":return jsxs(Fragment,{children:[jsx("rect",{x:"5",y:"13",width:"22",height:"15",rx:"2",fill:t??"#ff6b8b"}),jsx("rect",{x:"3",y:"9",width:"26",height:"6",rx:"2",fill:"#ff8aa3"}),jsx("rect",{x:"14",y:"9",width:"4",height:"19",fill:"#ffd24a"}),jsx("path",{d:"M16 9c-2-5-8-5-7-1 1 2 5 1 7 1zm0 0c2-5 8-5 7-1-1 2-5 1-7 1z",fill:"#ffd24a"})]});case "bag":return jsxs(Fragment,{children:[jsx("path",{d:"M11 9h10l5 5v11a4 4 0 01-4 4H10a4 4 0 01-4-4V14z",fill:t??"#c98a3c"}),jsx("path",{d:"M11 9l2-5h6l2 5",fill:"#a86c26"}),jsx("circle",{cx:"16",cy:"19",r:"4.5",fill:"#ffcf3a"}),jsx("path",{d:"M16 16.5v5",stroke:"#b86d06",strokeWidth:"1.8",strokeLinecap:"round"})]});case "trophy":return jsxs(Fragment,{children:[jsx("path",{d:"M9 4h14v7a7 7 0 01-14 0z",fill:t??"#ffcf3a"}),jsx("path",{d:"M9 7H4c0 5 3 7 6 7M23 7h5c0 5-3 7-6 7",fill:"none",stroke:"#e89a12",strokeWidth:"2.2"}),jsx("rect",{x:"14",y:"17",width:"4",height:"6",fill:"#e89a12"}),jsx("rect",{x:"9",y:"23",width:"14",height:"5",rx:"1.5",fill:"#b86d06"})]});case "calendar":return jsxs(Fragment,{children:[jsx("rect",{x:"4",y:"6",width:"24",height:"22",rx:"3",fill:"#fff"}),jsx("rect",{x:"4",y:"6",width:"24",height:"7",rx:"3",fill:t??"#ff5a5a"}),jsx("path",{d:"M10 3v6M22 3v6",stroke:"#5b6187",strokeWidth:"2.4",strokeLinecap:"round"}),jsx("path",{d:"M10 18h3M15 18h3M20 18h3M10 23h3M15 23h3",stroke:"#5b6187",strokeWidth:"2.4",strokeLinecap:"round"})]});case "star":return jsx("path",{d:"M16 3l3.9 8 8.6 1.2-6.3 6 1.6 8.6L16 22.7 8.2 26.8l1.6-8.6-6.3-6 8.6-1.2z",fill:t??"#ffd24a",stroke:"#e89a12",strokeWidth:"1.2",strokeLinejoin:"round"});case "check":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"16",r:"13",fill:t??"#59d35b"}),jsx("path",{d:"M9.5 16.5l4.5 4.5 8.5-9",fill:"none",stroke:"#fff",strokeWidth:"3.4",strokeLinecap:"round",strokeLinejoin:"round"})]});case "lock":return jsxs(Fragment,{children:[jsx("path",{d:"M10 14v-4a6 6 0 0112 0v4",fill:"none",stroke:"#8e95b8",strokeWidth:"3"}),jsx("rect",{x:"7",y:"14",width:"18",height:"14",rx:"3",fill:t??"#c3c8e3"}),jsx("circle",{cx:"16",cy:"21",r:"2.2",fill:"#5b6187"})]});case "shop":return jsxs(Fragment,{children:[jsx("path",{d:"M4 12l3-7h18l3 7z",fill:t??"#ff5a5a"}),jsx("path",{d:"M4 12h24v2a3 3 0 01-6 0 3 3 0 01-6 0 3 3 0 01-6 0 3 3 0 01-6 0z",fill:"#fff"}),jsx("rect",{x:"6",y:"16",width:"20",height:"12",rx:"1.5",fill:"#ffd9a8"}),jsx("rect",{x:"13",y:"20",width:"6",height:"8",fill:"#c98a3c"})]});case "chest":return jsxs(Fragment,{children:[jsx("path",{d:"M5 13a11 7 0 0122 0v2H5z",fill:t??"#b57a3c"}),jsx("rect",{x:"5",y:"15",width:"22",height:"13",rx:"2",fill:"#d89b54"}),jsx("rect",{x:"5",y:"15",width:"22",height:"3",fill:"#8a5424"}),jsx("rect",{x:"14",y:"14",width:"4",height:"7",rx:"1",fill:"#ffd24a"})]});case "quest":return jsxs(Fragment,{children:[jsx("rect",{x:"6",y:"4",width:"20",height:"24",rx:"3",fill:"#f3dca2"}),jsx("path",{d:"M11 11l2 2 4-4M11 18l2 2 4-4",fill:"none",stroke:t??"#2b9936",strokeWidth:"2.2",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M19 12h3M19 19h3",stroke:"#9c7338",strokeWidth:"2",strokeLinecap:"round"})]});case "user":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"16",r:"14",fill:t??"#4fb1ff"}),jsx("circle",{cx:"16",cy:"12.5",r:"5.2",fill:"#fff"}),jsx("path",{d:"M6.5 25.5a10 7 0 0119 0A13.6 13.6 0 0116 30a13.6 13.6 0 01-9.5-4.5z",fill:"#fff"})]});case "logout":return jsxs(Fragment,{children:[jsx("path",{d:"M18 5H9a3 3 0 00-3 3v16a3 3 0 003 3h9",fill:"none",stroke:t??"currentColor",strokeWidth:"2.8",strokeLinecap:"round"}),jsx("path",{d:"M14 16h14M23 10.5l5.5 5.5-5.5 5.5",fill:"none",stroke:t??"currentColor",strokeWidth:"2.8",strokeLinecap:"round",strokeLinejoin:"round"})]});case "copy":return jsxs(Fragment,{children:[jsx("rect",{x:"10",y:"10",width:"16",height:"18",rx:"3",fill:"none",stroke:t??"currentColor",strokeWidth:"2.6"}),jsx("path",{d:"M6 22V7a3 3 0 013-3h11",fill:"none",stroke:t??"currentColor",strokeWidth:"2.6",strokeLinecap:"round"})]});case "hero":return jsxs(Fragment,{children:[jsx("path",{d:"M6 15a10 10 0 0120 0v5H6z",fill:t??"#b8c4d9"}),jsx("path",{d:"M6 15a10 10 0 0120 0",fill:"none",stroke:"#6f7c99",strokeWidth:"1.6"}),jsx("rect",{x:"9",y:"16",width:"14",height:"3",rx:"1",fill:"#2a3150"}),jsx("path",{d:"M16 3v5",stroke:"#ff5a5a",strokeWidth:"3",strokeLinecap:"round"}),jsx("path",{d:"M8 20h16l-2 8H10z",fill:"#8a96b3"})]});case "hammer":return jsxs(Fragment,{children:[jsx("path",{d:"M14 13l12 12-3 3-12-12z",fill:"#a8743d"}),jsx("path",{d:"M5 9l7-6 8 8-7 6z",fill:t??"#c3c8e3"}),jsx("path",{d:"M5 9l7-6 2 2-7 6z",fill:"#e6e9f7"})]});case "market":return jsxs(Fragment,{children:[jsx("path",{d:"M3 11l3-7h20l3 7z",fill:t??"#4fb1ff"}),jsx("path",{d:"M3 11h26v2a3 3 0 01-6.5 0 3 3 0 01-6.5 0 3 3 0 01-6.5 0A3 3 0 013 13z",fill:"#fff"}),jsx("rect",{x:"5",y:"15",width:"22",height:"13",rx:"1.5",fill:"#d8e7ff"}),jsx("circle",{cx:"16",cy:"21.5",r:"4",fill:"#ffcf3a"}),jsx("path",{d:"M16 19.5v4",stroke:"#b86d06",strokeWidth:"1.6",strokeLinecap:"round"})]});case "flame":return jsxs(Fragment,{children:[jsx("path",{d:"M16 3c1 5 8 8 8 16a8 8 0 01-16 0c0-4 2-6 3-8 1 3 3 4 3 4 0-5 1-8 2-12z",fill:t??"#ff7a2e"}),jsx("path",{d:"M16 15c1 3 4 4 4 8a4 4 0 01-8 0c0-2 1-3 2-4 .5 1 1.5 1.5 1.5 1.5 0-2 .2-3.5.5-5.5z",fill:"#ffd24a"})]});case "ticket":return jsxs(Fragment,{children:[jsx("path",{d:"M4 9h24v4a3 3 0 000 6v4H4v-4a3 3 0 000-6z",fill:t??"#b879ff"}),jsx("path",{d:"M20 9v14",stroke:"#fff",strokeWidth:"1.6",strokeDasharray:"2 2"}),jsx("path",{d:"M11 13l1.2 2.4 2.6.4-1.9 1.8.5 2.6-2.4-1.3-2.3 1.3.4-2.6-1.9-1.8 2.6-.4z",fill:"#ffd24a"})]});case "friends":return jsxs(Fragment,{children:[jsx("circle",{cx:"11",cy:"11",r:"4.5",fill:t??"#4fb1ff"}),jsx("path",{d:"M3 26a8 7 0 0116 0z",fill:t??"#4fb1ff"}),jsx("circle",{cx:"21.5",cy:"12",r:"4",fill:"#59d35b"}),jsx("path",{d:"M15 26a7 6.5 0 0114 0z",fill:"#59d35b"})]});case "chat":return jsxs(Fragment,{children:[jsx("path",{d:"M4 7a3 3 0 013-3h18a3 3 0 013 3v12a3 3 0 01-3 3H13l-6 5v-5H7a3 3 0 01-3-3z",fill:t??"#4fb1ff"}),jsx("circle",{cx:"11",cy:"13",r:"1.8",fill:"#fff"}),jsx("circle",{cx:"16",cy:"13",r:"1.8",fill:"#fff"}),jsx("circle",{cx:"21",cy:"13",r:"1.8",fill:"#fff"})]});case "link":return jsxs(Fragment,{children:[jsx("path",{d:"M13 19l6-6",stroke:t??"#59d35b",strokeWidth:"3",strokeLinecap:"round"}),jsx("path",{d:"M14 9l2-2a5 5 0 017 7l-2 2M18 23l-2 2a5 5 0 01-7-7l2-2",fill:"none",stroke:t??"#59d35b",strokeWidth:"3",strokeLinecap:"round"})]});case "swords":return jsxs(Fragment,{children:[jsx("path",{d:"M5 4l14 14-2 2L3 6V4z",fill:t??"#d7e3f4"}),jsx("path",{d:"M27 4L13 18l2 2L29 6V4z",fill:t??"#d7e3f4"}),jsx("path",{d:"M8 22l4 4M24 22l-4 4",stroke:"#8a5a26",strokeWidth:"3.2",strokeLinecap:"round"}),jsx("path",{d:"M6 20l6 6M26 20l-6 6",stroke:"#e0b44a",strokeWidth:"2",strokeLinecap:"round"})]});case "gear":return jsxs(Fragment,{children:[jsx("path",{d:"M14 3h4l.7 3.3 2.6 1.1 2.8-1.9 2.8 2.8-1.9 2.8 1.1 2.6L29 14v4l-3.3.7-1.1 2.6 1.9 2.8-2.8 2.8-2.8-1.9-2.6 1.1L18 29h-4l-.7-3.3-2.6-1.1-2.8 1.9-2.8-2.8 1.9-2.8-1.1-2.6L3 18v-4l3.3-.7 1.1-2.6-1.9-2.8 2.8-2.8 2.8 1.9 2.6-1.1z",fill:t??"#aeb6f0"}),jsx("circle",{cx:"16",cy:"16",r:"4.5",fill:"#2c3480"})]});case "globe":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"16",r:"12",fill:t??"#4fb1ff"}),jsx("path",{d:"M4 16h24M16 4c-4 4-4 20 0 24M16 4c4 4 4 20 0 24",fill:"none",stroke:"#fff",strokeWidth:"1.6"})]});case "sound":return jsxs(Fragment,{children:[jsx("path",{d:"M5 12h5l7-6v20l-7-6H5z",fill:t??"currentColor"}),jsx("path",{d:"M21 11a6 6 0 010 10M24 7a11 11 0 010 18",fill:"none",stroke:t??"currentColor",strokeWidth:"2.4",strokeLinecap:"round"})]});case "mute":return jsxs(Fragment,{children:[jsx("path",{d:"M5 12h5l7-6v20l-7-6H5z",fill:t??"currentColor"}),jsx("path",{d:"M21 12l7 8M28 12l-7 8",stroke:t??"currentColor",strokeWidth:"2.6",strokeLinecap:"round"})]});case "bell":return jsxs(Fragment,{children:[jsx("path",{d:"M16 4a8 8 0 018 8v6l3 4H5l3-4v-6a8 8 0 018-8z",fill:t??"#ffd24a"}),jsx("circle",{cx:"16",cy:"26",r:"3",fill:"#e89a12"})]});case "bulb":return jsxs(Fragment,{children:[jsx("path",{d:"M16 3a9 9 0 015 16.5V23h-10v-3.5A9 9 0 0116 3z",fill:t??"#ffe066"}),jsx("rect",{x:"11",y:"24",width:"10",height:"3",rx:"1",fill:"#aeb6f0"}),jsx("rect",{x:"12.5",y:"27.5",width:"7",height:"2.5",rx:"1",fill:"#8e95b8"})]});case "menu":return jsx("path",{d:"M6 9h20M6 16h20M6 23h20",stroke:t??"currentColor",strokeWidth:"3",strokeLinecap:"round"});case "close":return jsx("path",{d:"M9 9l14 14M23 9L9 23",stroke:t??"currentColor",strokeWidth:"3.2",strokeLinecap:"round"});case "back":return jsx("path",{d:"M19 7l-9 9 9 9",fill:"none",stroke:t??"currentColor",strokeWidth:"3.2",strokeLinecap:"round",strokeLinejoin:"round"});case "plus":return jsx("path",{d:"M16 7v18M7 16h18",stroke:t??"currentColor",strokeWidth:"3.2",strokeLinecap:"round"});case "energy":return jsx("path",{d:"M18 3L7 18h8l-2 11 12-16h-8z",fill:t??"#ffd24a",stroke:"#e89a12",strokeWidth:"1.2",strokeLinejoin:"round"});case "heart":return jsx("path",{d:"M16 27S4 20 4 11.5A6.5 6.5 0 0116 8a6.5 6.5 0 0112 3.5C28 20 16 27 16 27z",fill:t??"#ff5a7a"});case "offer":return jsxs(Fragment,{children:[jsx("path",{d:"M4 16L16 4h10v10L14 26z",fill:t??"#ff5a5a"}),jsx("circle",{cx:"21",cy:"9",r:"2.2",fill:"#fff"}),jsx("path",{d:"M11 17l6-6",stroke:"#fff",strokeWidth:"1.8",strokeLinecap:"round"})]});case "clock":return jsxs(Fragment,{children:[jsx("circle",{cx:"16",cy:"16",r:"12",fill:t??"currentColor"}),jsx("path",{d:"M16 9v7l5 3",fill:"none",stroke:"#2c3480",strokeWidth:"2.6",strokeLinecap:"round"})]});case "trash":return jsxs(Fragment,{children:[jsx("path",{d:"M8 10h16l-1.5 17h-13z",fill:t??"#ff5a5a"}),jsx("rect",{x:"6",y:"6",width:"20",height:"3.5",rx:"1.2",fill:t??"#ff5a5a"}),jsx("rect",{x:"13",y:"3.5",width:"6",height:"3",rx:"1",fill:t??"#ff5a5a"})]});case "edit":return jsxs(Fragment,{children:[jsx("path",{d:"M6 22l14-14 4 4-14 14H6z",fill:t??"#ffd24a"}),jsx("path",{d:"M20 8l2-2a2.8 2.8 0 014 4l-2 2",fill:"#e89a12"})]});default:return jsxs(Fragment,{children:[jsx("path",{d:"M16 3l12 6v14l-12 6-12-6V9z",fill:t??"#9aa6ff"}),jsx("path",{d:"M4 9l12 6 12-6M16 15v14",fill:"none",stroke:"#5b67c9",strokeWidth:"1.8",strokeLinejoin:"round"})]})}}function To(e){let[t,n]=useState("phone");return Ee(()=>{let o=e.current;if(!o)return;let i=()=>n(ke(o.getBoundingClientRect().width));if(i(),typeof ResizeObserver>"u")return;let r=new ResizeObserver(i);return r.observe(o),()=>r.disconnect()},[e]),t}function ze(){let{layer:e}=R(),t=useRef(null);t.current=e;let[n,o]=useState(()=>e?ke(e.getBoundingClientRect().width):"phone");return useEffect(()=>{if(!e)return;let i=()=>o(ke(e.getBoundingClientRect().width));if(i(),typeof ResizeObserver>"u")return;let r=new ResizeObserver(i);return r.observe(e),()=>r.disconnect()},[e]),n}function Fe(e,t){let[n,o]=useState(e),[i,r]=useState(false);return useEffect(()=>{if(e){o(true),r(false);return}if(!n)return;if(t<=0){o(false);return}r(true);let a=setTimeout(()=>{o(false),r(false);},t);return ()=>clearTimeout(a)},[e,t,n]),{mounted:n,closing:i}}function kn(e,t=600,n){let[o,i]=useState(e),r=useRef(e),a=useRef(n);return a.current=n,useEffect(()=>{let d=r.current;if(d===e)return;if(t<=0){r.current=e,i(e);return}let u=performance.now(),m=0,c=g=>{let y=Math.min(1,(g-u)/t),p=1-Math.pow(1-y,3),h=y>=1?e:Math.round(d+(e-d)*p);h!==r.current&&a.current?.(),r.current=h,i(h),y<1&&(m=requestAnimationFrame(c));};return m=requestAnimationFrame(c),()=>cancelAnimationFrame(m)},[e,t]),o}function Ke(e,t){let n=R(),o=xe(a=>a.holding(e)>0),i=useRef(t);o||(i.current=t);let r=o?i.current:t;return kn(r,n.motion.on?650:0,()=>n.play("countTick"))}function F(){let e=c(),t=R(),[,n]=useReducer(u=>u+1,0);useEffect(()=>e?.on("user:anyUpdated",()=>n()),[e]);let o=e?.data.config.titlePublicConfiguration??null,i=useMemo(()=>e&&o?Lt(ie(e,"Item")):new Map,[e,o]),r=useMemo(()=>e&&o?ie(e,"Currency")?.VirtualCurrencies??{}:{},[e,o]),a=useMemo(()=>e&&o?ie(e,"Currency")?.CryptoCurrencies??{}:{},[e,o]),d=useCallback(u=>u?e?.localization.has(u)?e.localization.t(u):u:"",[e]);return useMemo(()=>({items:i,currencies:r,cryptoCurrencies:a,localize:d,currencyName:u=>d(r[u]?.DisplayName||a[u]?.DisplayName||u),itemName:u=>d(i.get(u)?.DisplayName||u),iconOf:u=>{if(u.kind==="currency")return Et(r[u.id]?.ImagePath)??De(u.id);if(u.kind==="crypto"){let m=a[u.id]?.AssetPaths;return m?.Default||m?.Icon||De(u.id)}if(u.kind==="item"){let m=i.get(u.id);return Et(m?.ImagePath)??Pt(m?.Tags,m?.ItemClass,`${m?.CatalogID??""} ${m?.ImagePath??""} ${u.id}`)}return u.kind==="token"?ve(u):"box"},rarityColor:u=>t.config.theme.rarity[u??""]??t.config.theme.rarity.Common??"#a9b3c9"}),[i,r,a,d,t.config.theme.rarity])}function It(){let e=c(),t=F(),[,n]=useReducer(r=>r+1,0);useEffect(()=>e?.on("user:anyUpdated",()=>n()),[e]);let o=e?.data.user.state?.InventoryV2?.VirtualCurrencies??{},i=Object.keys(t.currencies);return Object.entries(o).filter(([r])=>i.length===0||i.includes(r)).map(([r,a])=>[r,Number(a?.Amount??0)]).sort(([r],[a])=>r.localeCompare(a))}function Uo(e=1e3){let[t,n]=useState(()=>Date.now());return useEffect(()=>{let o=setInterval(()=>n(Date.now()),e);return ()=>clearInterval(o)},[e]),t}var _e={green:[l.green,l.greenDeep],gold:[l.gold,l.goldDeep],blue:[l.blue,l.blueDeep],red:[l.red,l.redDeep],grey:["#8e95b8","#5b6187"]},se={green:{color:l.onGreen,textShadow:l.onGreenOutline},gold:{color:l.onGold,textShadow:l.onGoldOutline},blue:{color:l.onBlue,textShadow:l.onBlueOutline},red:{color:l.onRed,textShadow:l.onRedOutline},grey:{color:"#ffffff",textShadow:Le}};function We(e){let[t,n]=_e[e],o=se[e];return {background:`linear-gradient(180deg, ${t} 0%, ${n} 100%)`,color:o.color,"--idos-ui-text":o.color,"--idos-ui-text-dim":`color-mix(in srgb, ${o.color} 80%, transparent)`,"--idos-ui-text-outline":o.textShadow}}function wn(e,t=false,n="md"){let[o,i]=_e[t?"grey":e],r=se[t?"grey":e],a=n==="sm"?"6px 12px":n==="lg"?"12px 22px":"10px 18px";return {...C,...r,fontFamily:l.font,fontSize:n==="sm"?13:n==="lg"?18:16,border:"none",borderRadius:l.buttonRadius,padding:a,minHeight:n==="sm"?34:44,cursor:t?"default":"pointer",background:`linear-gradient(180deg, ${o} 0%, ${i} 100%)`,boxShadow:`0 4px 0 ${l.edge}, inset 0 2px 0 rgba(255,255,255,.35)`,opacity:t?.75:1,display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6}}function X({children:e,onClick:t,tone:n="green",size:o="md",disabled:i=false,busy:r=false,attract:a=false,style:d,className:u="",sound:m="click",title:c,...g}){let{play:y}=R();return jsx("button",{type:"button",title:c,"data-tutorial-anchor":g["data-tutorial-anchor"],className:`idos-press ${a&&!i?"idos-shine idos-bounce":""} ${u}`,disabled:i||r,onClick:p=>{m&&y(m),t?.(p);},style:{...wn(n,i,o),...d},children:r?jsx(Sn,{size:18}):e})}function we({glyph:e,onClick:t,label:n,size:o=40,tone:i,style:r,badge:a}){let{play:d}=R();return jsxs("button",{type:"button","aria-label":n,title:n,className:"idos-press",onClick:()=>{d("click"),t();},style:{position:"relative",width:o,height:o,borderRadius:"50%",border:`2px solid ${l.panelEdge}`,background:i?`linear-gradient(180deg, ${_e[i][0]}, ${_e[i][1]})`:l.well,color:i?se[i].color:l.text,display:"grid",placeItems:"center",cursor:"pointer",padding:0,flex:"none",...r},children:[jsx(N,{glyph:e,size:o*.55}),a?jsx(Se,{count:a}):null]})}function Sn({size:e=28}){return jsx("span",{"aria-label":w("loading"),style:{width:e,height:e,borderRadius:"50%",border:`${Math.max(2,e/8)}px solid color-mix(in srgb, currentColor 25%, transparent)`,borderTopColor:"currentColor",animation:"idos-spin .8s linear infinite",display:"inline-block",flex:"none"}})}function Se({count:e,dot:t=false,style:n}){return !e||e<=0?null:jsx("span",{className:"idos-pulse",style:{position:"absolute",top:-4,right:-4,minWidth:t?12:20,height:t?12:20,padding:t?0:"0 5px",borderRadius:999,background:l.red,border:"2px solid #fff",...C,...se.red,fontSize:11,lineHeight:"16px",textAlign:"center",pointerEvents:"none",zIndex:1,...n},children:t?null:e>99?"99+":e})}function Rn({line:e,size:t=20,big:n=false,dim:o=false}){let i=F(),r=c();return jsxs("span",{title:Ge(e,i,r),style:{display:"inline-flex",alignItems:"center",gap:4,...C,fontSize:n?18:14,color:o?l.red:l.text},children:[jsx(N,{glyph:e.kind==="token"?ve(e):i.iconOf(e),size:t}),e.kind==="item"&&e.amount===1?null:Ae(e)]})}function Ge(e,t,n){return e.kind==="currency"||e.kind==="crypto"?t.currencyName(e.id):e.kind==="item"?t.itemName(e.id):e.kind==="token"?t.localize(St(e,n)):e.id}function Eo({lines:e,size:t=18,gap:n=8,dimIf:o}){return jsx("span",{style:{display:"inline-flex",gap:n,flexWrap:"wrap",alignItems:"center",justifyContent:"center"},children:e.map(i=>jsx(Rn,{line:i,size:t,dim:o?.(i)},`${i.kind}:${i.id}`))})}function $t({currencyID:e,amount:t,size:n=24,onClick:o}){let i=F(),r=Ke(e,t);return jsxs("div",{"data-resource-counter":e,title:i.currencyName(e),onClick:o,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 12px 4px 6px",borderRadius:999,...Ue,cursor:o?"pointer":"default"},children:[jsx(N,{glyph:i.iconOf({kind:"currency",id:e,amount:0}),size:n}),jsx("span",{style:{...C,fontSize:15,minWidth:36,textAlign:"right"},children:z(r)})]})}function Io({itemID:e,count:t,level:n,onClick:o,size:i=76,selected:r=false,dim:a=false}){let d=F(),{play:u}=R(),m=d.items.get(e),c=d.rarityColor(m?.Metadata?.RarityID);return jsxs("button",{type:"button",className:"idos-press",title:d.itemName(e),onClick:o?()=>{u("click"),o();}:void 0,style:{position:"relative",width:i,height:i,borderRadius:16,border:`3px solid ${r?l.text:c}`,background:`radial-gradient(circle at 50% 35%, ${c}55 0%, ${l.panelDeep} 70%)`,boxShadow:r?`0 0 0 3px ${l.gold}, 0 4px 0 ${l.shadow}`:`0 4px 0 ${l.shadow}, inset 0 0 12px ${c}44`,display:"grid",placeItems:"center",cursor:o?"pointer":"default",padding:0,opacity:a?.45:1,flex:"none"},children:[jsx(N,{glyph:d.iconOf({kind:"item",id:e,amount:1}),size:i*.56}),t!==void 0&&t>1?jsxs("span",{style:{position:"absolute",right:4,bottom:2,...C,fontSize:14},children:["\xD7",z(t)]}):null,n!==void 0&&n>0?jsxs("span",{style:{position:"absolute",left:5,top:2,...C,fontSize:12},children:["Lv",n]}):null]})}function $o({value:e,max:t,tone:n="green",label:o,height:i=18}){let r=Math.max(0,Math.min(100,e/Math.max(1,t)*100)),[a,d]=n==="gold"?[l.gold,l.goldDeep]:n==="blue"?[l.blue,l.blueDeep]:[l.green,l.greenDeep];return jsxs("div",{style:{position:"relative",height:i,borderRadius:i/2,background:l.wellSoft,boxShadow:l.wellShadow,overflow:"hidden"},children:[jsx("div",{style:{width:`${r}%`,height:"100%",background:`linear-gradient(180deg, ${a}, ${d})`,borderRadius:i/2,transition:`width ${l.slow} ${j}`}}),jsx("div",{style:{position:"absolute",inset:0,display:"grid",placeItems:"center",...C,fontSize:Math.max(10,i-6)},children:o??`${z(e)} / ${z(t)}`})]})}function At({children:e,right:t}){return jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,margin:"4px 4px 10px"},children:[jsx("div",{style:{...C,fontSize:19,fontFamily:l.font},children:e}),t]})}function Ao({glyph:e,text:t,action:n}){return jsxs("div",{style:{...O,padding:24,textAlign:"center",display:"grid",gap:12,justifyItems:"center",animation:`idos-rise-in ${l.normal} ease both`},children:[jsx(N,{glyph:e,size:56}),jsx("div",{style:{...C,fontWeight:700,color:l.textDim,fontSize:15,maxWidth:340},children:t}),n]})}function Do({children:e,minHeight:t=240}){return jsx("div",{style:{display:"grid",placeItems:"center",minHeight:t},children:e})}function Bo({at:e,now:t,label:n}){let o=Ct(e,t);return o?jsxs("span",{style:{...C,fontSize:12,color:l.textDim,fontWeight:700,whiteSpace:"nowrap"},children:[n?`${n} `:"",o]}):null}function Dt({tabs:e,value:t,onChange:n,style:o}){let{play:i}=R();return e.length<2?null:jsx("div",{className:"idos-scroll",role:"tablist",style:{display:"flex",gap:6,padding:4,borderRadius:16,background:l.wellSoft,overflowX:"auto",...o},children:e.map(r=>{let a=r.id===t;return jsxs("button",{role:"tab","aria-selected":a,type:"button",className:"idos-press",onClick:()=>{a||(i("tab"),n(r.id));},style:{position:"relative",flex:"1 0 auto",border:"none",borderRadius:12,padding:"8px 14px",cursor:"pointer",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,whiteSpace:"nowrap",background:a?`linear-gradient(180deg, ${l.blue}, ${l.blueDeep})`:"transparent",boxShadow:a?`0 3px 0 ${l.edge}, inset 0 2px 0 rgba(255,255,255,.3)`:"none",transition:`background ${l.fast} ease`},children:[r.glyph?jsx(N,{glyph:r.glyph,size:20}):null,jsx("span",{style:{...C,...a?se.blue:{color:l.textDim},fontSize:14},children:r.label}),r.badge?jsx(Se,{count:r.badge}):null]},r.id)})})}function Bt(){let{motion:e}=R();return t=>e.stagger?{animation:`idos-rise-in ${l.normal} ease ${Math.min(t,14)*35}ms both`}:{}}function Oo({children:e,style:t,highlight:n=false,onClick:o}){let{play:i}=R();return jsx("div",{className:o?"idos-press":void 0,onClick:o?()=>{i("click"),o();}:void 0,style:{...O,padding:12,cursor:o?"pointer":void 0,border:n?`2px solid ${l.gold}`:O.border,...t},children:e})}var Ot={...O,padding:"12px 14px",fontSize:15,color:l.text,fontFamily:l.font,outline:"none",boxSizing:"border-box"};function zo({style:e,...t}){return jsx("input",{...t,style:{...Ot,...e}})}function Fo({style:e,...t}){return jsx("textarea",{...t,style:{...Ot,resize:"vertical",...e}})}function Ko({style:e,children:t,...n}){return jsx("select",{...n,className:`idos-select ${n.className??""}`,style:{...Ot,padding:"9px 12px",cursor:n.disabled?"default":"pointer",...e},children:t})}function _o({label:e,children:t}){return jsxs("div",{style:{display:"grid",gap:6},children:[jsx("div",{style:{...C,fontSize:13,color:l.textDim},children:e}),t]})}function Wo({currencyID:e,size:t=24,align:n="left"}){let o=c(),i=F(),[r,a]=useState(false),d=Tt(o?.data.user.state,e,i.cryptoCurrencies),u=Ke(`crypto:${e}`,d.total),m=i.cryptoCurrencies[e]?.DisplayDecimals??4,c$1=p=>p.toLocaleString("en-US",{maximumFractionDigits:Math.max(0,m)}).replace(/,/g," "),g=i.currencyName(e),y=(p,h,U=false)=>jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:16},children:[jsx("span",{style:{...C,fontSize:13,color:l.textDim},children:p}),jsx("span",{style:{...C,fontSize:14,color:U?l.textDim:l.text},children:h})]});return jsxs("div",{"data-resource-counter":`crypto:${e}`,style:{position:"relative",display:"inline-flex"},onMouseEnter:()=>a(true),onMouseLeave:()=>a(false),children:[jsxs("button",{type:"button","aria-label":g,"aria-expanded":r,onClick:()=>a(p=>!p),onBlur:()=>a(false),style:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 12px 4px 6px",borderRadius:999,...Ue,cursor:"pointer",font:"inherit"},children:[jsx(N,{glyph:i.iconOf({kind:"crypto",id:e,amount:0}),size:t}),jsx("span",{style:{...C,fontSize:15,minWidth:36,textAlign:"right"},children:Rt(u)}),d.unbacked>0?jsx("span",{"aria-hidden":true,style:{width:6,height:6,borderRadius:"50%",background:l.gold}}):null]}),r?jsxs("div",{role:"tooltip",style:{...O,position:"absolute",top:"calc(100% + 8px)",[n]:0,zIndex:30,minWidth:220,maxWidth:280,padding:"10px 12px",display:"grid",gap:6,animation:`idos-drop-in ${l.fast} ${j} both`},children:[jsx("span",{style:{...C,fontSize:15},children:g}),y(w("cryptoBacked"),c$1(d.backed)),d.iouID?y(w("cryptoUnbacked"),c$1(d.unbacked),d.unbacked===0):null,jsx("div",{style:{height:1,background:l.line}}),y(w("cryptoTotal"),c$1(d.total)),d.iouID?jsx("span",{style:{fontSize:12,color:l.textDim,lineHeight:1.35},children:w("cryptoIouHint")}):null]}):null]})}var _t=createContext(()=>{});function le(){return useContext(_t)}function Wt({children:e}){let{layer:t}=R();return t?createPortal(e,t):jsx(Fragment,{children:e})}var He=[],zt=new Set,Ft=0,Kt=false,Ve=()=>{for(let e of [...zt])e();};function Vo(e){Kt!==e&&(Kt=e,Ve());}function Yo(e){let[t]=useState(()=>Symbol("auto-popup")),[,n]=useState(0),o=useRef(false);return useEffect(()=>{if(!e){o.current=false;return}He.push(t);let i=()=>n(r=>r+1);return zt.add(i),i(),()=>{let r=He.indexOf(t);r>=0&&He.splice(r,1),zt.delete(i),Ve();}},[e,t]),e?(!o.current&&He[0]===t&&Ft===0&&!Kt&&(o.current=true),o.current):true}function jo(e){useEffect(()=>{if(e)return Ft+=1,Ve(),()=>{Ft-=1,Ve();}},[e]);}function de({children:e,onClose:t,open:n=true,title:o,width:i=400,variant:r="auto",dismissible:a=true,sound:d=true,panelStyle:u,queued:m=false}){let c=R(),g=ze(),y=c.motion.durations.normal,[p,h]=useState(false),U=Yo(m&&n);jo(!m&&n);let{mounted:D,closing:P}=Fe(n&&U&&!p,y),G=useRef(t);G.current=t;let q=useRef(false);useEffect(()=>{!d||!n||!U||q.current||(q.current=true,c.play("open"));},[d,n,U,c]);let $=useCallback(()=>{p||(c.play("close"),h(true));},[p,c]);useEffect(()=>{p&&!D&&G.current?.();},[p,D]),useEffect(()=>{n||(h(false),q.current=false);},[n]);let Z=a&&t!==void 0;if(useEffect(()=>{if(!Z||!D)return;let V=M=>{M.key==="Escape"&&$();};return window.addEventListener("keydown",V),()=>window.removeEventListener("keydown",V)},[Z,D,$]),!D)return null;let B=r==="sheet"||r==="auto"&&g==="phone",ce=P,fe=B?ce?`idos-sheet-out ${l.normal} ${ye} both`:`idos-sheet-in ${l.slow} ${j} both`:ce?`idos-pop-out ${l.normal} ${ye} both`:`idos-pop-in ${l.slow} ${me} both`;return jsx(Wt,{children:jsx(_t.Provider,{value:$,children:jsx("div",{role:"dialog","aria-modal":"true",onClick:Z?$:void 0,style:{position:c.layer?"absolute":"fixed",inset:0,zIndex:20,background:l.backdrop,display:"grid",placeItems:B?"end stretch":"center",padding:B?0:16,pointerEvents:"auto",fontFamily:l.font,color:l.text,animation:`${ce?"idos-fade-out":"idos-fade-in"} ${l.normal} ease both`},children:jsxs("div",{onClick:V=>V.stopPropagation(),className:"idos-scroll",style:{...O,width:B?"100%":`min(${i}px, 100%)`,maxHeight:B?"88%":"min(86vh, 100%)",overflowY:"auto",padding:B?"22px 16px calc(18px + env(safe-area-inset-bottom))":18,borderRadius:B?`${l.radius} ${l.radius} 0 0`:l.radius,display:"grid",gap:14,position:"relative",animation:fe,...u},children:[B?jsx("div",{"aria-hidden":"true",style:{position:"absolute",top:8,left:"50%",width:44,height:5,marginLeft:-22,borderRadius:3,background:l.line}}):null,o?jsx("div",{style:{...C,fontSize:21,textAlign:"center",fontFamily:l.font,padding:"0 30px"},children:o}):null,t?jsx(we,{glyph:"close",label:w("close"),onClick:$,size:36,tone:"red",style:{position:"absolute",top:B?12:8,right:B?12:8,border:"3px solid #fff"}}):null,e]})})})})}function Qo({title:e,children:t,confirmLabel:n,tone:o="green",onConfirm:i,onClose:r}){return jsxs(de,{title:e,onClose:r,width:380,children:[t,jsx(Xo,{confirmLabel:n,tone:o,onConfirm:i})]})}function Xo({confirmLabel:e,tone:t,onConfirm:n}){let o=le(),[i,r]=useState(false);return jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:10},children:[jsx(X,{tone:"grey",onClick:o,children:w("cancel")}),jsx(X,{tone:t,busy:i,onClick:()=>{r(true),Promise.resolve(n()).then(a=>{r(false),a!==true&&o();});},children:e??w("confirm")})]})}function Zo({title:e,icon:t,onClose:n,children:o,open:i=true,back:r=false,balances:a=true}){let d=R(),[u,m]=useState(false),{mounted:c,closing:g}=Fe(i&&!u,d.motion.durations.normal),y=useRef(n);y.current=n,useEffect(()=>{d.play("open");},[]),useEffect(()=>{u&&!c&&y.current();},[u,c]),useEffect(()=>{i||m(false);},[i]);let p=useCallback(()=>{d.play("close"),m(true);},[d]);return useEffect(()=>{if(!c)return;let h=U=>{U.key==="Escape"&&p();};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[c,p]),c?jsx(Wt,{children:jsx(_t.Provider,{value:p,children:jsxs("div",{style:{position:d.layer?"absolute":"fixed",inset:0,zIndex:10,display:"grid",gridTemplateRows:"auto minmax(0, 1fr)",background:dt,color:l.text,fontFamily:l.font,pointerEvents:"auto",animation:`${g?"idos-window-out":"idos-window-in"} ${l.normal} ${g?ye:j} both`},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 14px",borderBottom:`2px solid ${l.panelEdge}`,background:l.wellSoft},children:[r?jsx(we,{glyph:"back",label:w("back"),onClick:p,size:38}):null,t?jsx(N,{glyph:t,size:30}):null,jsx("div",{style:{...C,fontSize:20,flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e}),a?jsx(Jo,{}):null,r?null:jsx(we,{glyph:"close",label:w("close"),onClick:p,size:38,tone:"red"})]}),jsx("div",{className:"idos-scroll",style:{overflowY:"auto",padding:"14px 14px 24px"},children:o})]})})}):null}function Jo(){let e=It(),t=ze(),n=t==="phone"?e.slice(0,2):e;return jsx("div",{style:{display:"flex",gap:6,flex:"none"},children:n.map(([o,i])=>jsx($t,{currencyID:o,amount:i,size:t==="phone"?18:22},o))})}var je={info:"blue",success:"green",warning:"gold",error:"red",reward:"gold"},Gt={blue:l.blue,green:l.green,gold:l.gold,red:l.red,grey:l.textDim};function ti({level:e,size:t}){let n={fill:"none",stroke:"currentColor",strokeWidth:2.6,strokeLinecap:"round",strokeLinejoin:"round"};return jsx("svg",{width:t,height:t,viewBox:"0 0 24 24","aria-hidden":"true",children:e==="success"?jsx("path",{d:"M5 12.5l4.5 4.5L19 7.5",...n}):e==="error"?jsx("path",{d:"M7 7l10 10M17 7L7 17",...n}):e==="warning"?jsxs(Fragment,{children:[jsx("path",{d:"M12 6v8",...n}),jsx("circle",{cx:"12",cy:"18.2",r:"1.6",fill:"currentColor"})]}):e==="reward"?jsxs(Fragment,{children:[jsx("rect",{x:"4",y:"10",width:"16",height:"10",rx:"1.5",...n}),jsx("path",{d:"M3 10h18M12 10v10M12 10c-2-4-6-4-6-1.5S10 10 12 10zM12 10c2-4 6-4 6-1.5S14 10 12 10z",...n,strokeWidth:2.2})]}):jsxs(Fragment,{children:[jsx("circle",{cx:"12",cy:"6.5",r:"1.6",fill:"currentColor"}),jsx("path",{d:"M12 11v7",...n})]})})}function Mn({level:e,icon:t,size:n}){return jsx("span",{style:{...We(je[e]),width:n,height:n,flex:"none",borderRadius:"50%",display:"grid",placeItems:"center",boxShadow:`0 2px 0 ${l.edge}, inset 0 2px 0 rgba(255,255,255,.3)`},children:t?jsx(N,{glyph:t,size:n*.62}):jsx(ti,{level:e,size:n*.56})})}function Tn({source:e}){return jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:4,fontSize:11,fontWeight:800,letterSpacing:.3,textTransform:"uppercase",color:l.textDim,minWidth:0},children:[e.icon?jsx(N,{glyph:e.icon,size:14}):null,jsx("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.label})]})}function ni(e){return useSyncExternalStore(e.subscribe,()=>e.toasts,()=>e.toasts),useSyncExternalStore(e.subscribe,()=>e.currentAlert,()=>e.currentAlert),e}function Un({store:e}){ni(e);let t=e.currentAlert;return jsxs(Fragment,{children:[jsx("div",{style:{position:"absolute",top:"calc(env(safe-area-inset-top, 0px) + 10px)",left:"50%",transform:"translateX(-50%)",width:"min(440px, calc(100% - 20px))",display:"flex",flexDirection:"column",gap:8,zIndex:45,pointerEvents:"none"},children:e.toasts.map(n=>jsx(oi,{store:e,toast:n},n.id))}),t?jsx(ri,{store:e,alert:t,queued:e.queued},t.id):null]})}function oi({store:e,toast:t}){let n=R(),o=t.input,i=je[t.level],r=o.duration??at[t.level],a=e.source(o.source),d=o.actions?.[0],[u,m]=useState(false),[c,g]=useState(false),y=n.motion.durations.normal,p=useRef(()=>{});p.current=()=>{u||(m(true),setTimeout(()=>e.dismiss(t.id),y));};let h=useRef(r);useEffect(()=>{h.current=r;},[r,t.revision]),useEffect(()=>{if(r<=0||c||u)return;let P=Date.now(),G=setTimeout(()=>p.current(),h.current);return ()=>{clearTimeout(G),h.current-=Date.now()-P;}},[r,c,u,t.revision]);let U=a?.open,D=P=>{P.onPress?.(),P.openFeature&&e.source(P.openFeature)?.open?.(),p.current();};return jsxs("div",{role:t.level==="error"||t.level==="warning"?"alert":"status",onPointerEnter:()=>g(true),onPointerLeave:()=>g(false),onClick:U?()=>{U(),p.current();}:void 0,className:U?"idos-press":void 0,style:{...O,position:"relative",overflow:"hidden",pointerEvents:"auto",cursor:U?"pointer":"default",display:"flex",gap:10,alignItems:"flex-start",padding:"10px 10px 12px 14px",boxShadow:`${l.panelShadow}, inset 4px 0 0 ${Gt[i]}`,animation:`${u?"idos-drop-out":"idos-drop-in"} ${l.normal} ease both`},children:[o.image?jsx("img",{src:o.image,alt:"",style:{width:42,height:42,flex:"none",objectFit:"cover",borderRadius:10,border:`2px solid ${Gt[i]}`}}):jsx(Mn,{level:t.level,icon:o.icon,size:34}),jsxs("div",{style:{flex:1,minWidth:0,display:"grid",gap:2},children:[a?jsx(Tn,{source:a}):null,o.title?jsx("div",{style:{...C,fontSize:15,lineHeight:1.25},children:o.title}):null,o.message?jsx("div",{style:{fontSize:13.5,fontWeight:600,lineHeight:1.35,color:o.title?l.textDim:l.text,overflowWrap:"anywhere"},children:o.message}):null,d?jsx("div",{style:{marginTop:6},onClick:P=>P.stopPropagation(),children:jsx(X,{size:"sm",tone:i,onClick:()=>D(d),children:d.label})}):null]}),t.count>1?jsxs("span",{style:{...We(i),flex:"none",alignSelf:"center",borderRadius:999,padding:"1px 8px",fontSize:12,fontWeight:800},children:["\xD7",t.count]}):null,jsx("button",{type:"button","aria-label":w("close"),onClick:P=>{P.stopPropagation(),p.current();},style:ii,children:jsx(N,{glyph:"close",size:14})}),r>0?jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,right:0,bottom:0,height:3,background:Gt[i],opacity:.8,transformOrigin:"left center",animation:`idos-timer ${r}ms linear forwards`,animationPlayState:c||u?"paused":"running"}},t.revision):null]})}var ii={flex:"none",width:26,height:26,display:"grid",placeItems:"center",border:"none",borderRadius:"50%",background:l.wellSoft,color:l.textDim,cursor:"pointer",padding:0};function ri({store:e,alert:t,queued:n}){let o=useRef(null);return useEffect(()=>e.play(t.level),[e,t.level]),jsx(de,{queued:true,sound:false,width:380,onClose:()=>e.dismiss(t.id,o.current),children:jsx(ai,{store:e,alert:t,queued:n,chosen:o})})}function ai({store:e,alert:t,queued:n,chosen:o}){let i=le(),r=t.input,a=je[t.level],d=e.source(r.source),u=r.actions&&r.actions.length>0?r.actions:[{id:"ok",label:w("ok"),primary:true}],m=u.some(g=>g.primary),c=g=>{o.current=g.id??g.label,g.onPress?.(),g.openFeature&&e.source(g.openFeature)?.open?.(),i();};return jsxs("div",{role:"alertdialog","aria-label":r.title??r.message??"",style:{display:"grid",gap:12,justifyItems:"center",textAlign:"center"},children:[n>0?jsxs("span",{style:{justifySelf:"start",fontSize:12,fontWeight:800,color:l.textDim},children:["+",n]}):null,r.image?jsx("img",{src:r.image,alt:"",style:{maxWidth:"100%",maxHeight:180,objectFit:"contain",borderRadius:14}}):jsx("div",{className:t.level==="reward"?"idos-bounce":void 0,children:jsx(Mn,{level:t.level,icon:r.icon,size:64})}),d?jsx(Tn,{source:d}):null,r.title?jsx("div",{style:{...C,fontSize:21,fontFamily:l.font,lineHeight:1.2},children:r.title}):null,r.message?jsx("div",{style:{fontSize:15,fontWeight:600,lineHeight:1.45,color:r.title?l.textDim:l.text,whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:r.message}):null,jsx("div",{style:{display:"grid",gap:8,width:"100%",marginTop:4},children:u.map((g,y)=>g.primary||!m&&y===0?jsx(X,{tone:a,onClick:()=>c(g),style:{width:"100%"},children:g.label},g.id??g.label):jsx("button",{type:"button",className:"idos-press",onClick:()=>c(g),style:si,children:g.label},g.id??g.label))})]})}var si={width:"100%",minHeight:44,borderRadius:l.buttonRadius,border:`1px solid ${l.line}`,background:l.wellSoft,color:l.text,fontFamily:l.font,fontSize:15,fontWeight:800,cursor:"pointer"};var v={ink:"#10172e",navy:"#1f2440",navyDeep:"#1a1f38",blue:"#0d80f2",blueBody:"#0897f7",sky:"#00aeff",topbar:"#33364a",tabOn:"#3082ff",tabOff:"#363650",bg:"#0340a3",bgDeep:"#032b73",gold:"#ffce0d",listLight:"#d9e8f2",listBlue:"#00ccff",listBlueInner:"#0099ff",listYellow:"#fffed6",listYellowInner:"#fffc54",sliderBg:"#212130",fillGreen:"#47d61e",fillOrange:"#ff9a1a"};function I(e,t="#fff",n=v.ink){let o=Math.max(1.5,Math.round(e/12));return {color:t,fontSize:e,fontWeight:900,lineHeight:1.1,WebkitTextStroke:`${o}px ${n}`,paintOrder:"stroke fill",textShadow:`0 ${Math.max(1,o)}px 0 ${n}`,letterSpacing:.2}}var Vt="repeating-linear-gradient(135deg, rgba(255,255,255,.08) 0 14px, rgba(255,255,255,0) 14px 28px)";function di(e="#3d87f5",t="#6a9cff"){return {backgroundColor:e,backgroundImage:`${Vt}, radial-gradient(ellipse at 50% 20%, ${t} 0%, ${e} 70%)`}}function ui({children:e,footer:t,background:n=v.bg}){let o=useRef(null),[i,r]=useState(null);return Ee(()=>{let a=o.current;if(!a||typeof getComputedStyle!="function")return;let d=a.parentElement;for(;d&&!/(auto|scroll)/.test(getComputedStyle(d).overflowY);)d=d.parentElement;if(!d)return;let u=d,m=()=>{let g=parseFloat(getComputedStyle(u).paddingBottom)||0,y=a.getBoundingClientRect().top-u.getBoundingClientRect().top+u.scrollTop,p=Math.max(0,Math.round(u.clientHeight-y+g));r(h=>h&&h.min===p&&h.pad===g?h:{min:p,pad:g});};if(m(),typeof ResizeObserver!="function")return;let c=new ResizeObserver(m);return c.observe(u),()=>c.disconnect()},[]),jsxs("div",{ref:o,style:{margin:"-14px -14px -24px",minHeight:i?.min,display:"flex",flexDirection:"column",backgroundColor:n,backgroundImage:Vt},children:[jsx(An,{}),jsx("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:e}),t?jsx("div",{style:{position:"sticky",bottom:-(i?.pad??0),zIndex:2},children:t}):null]})}var ci={green:["#7be34a","#33b31d","#1f7a10"],sky:["#5cc8ff","#1c8fe6","#0d5aa8"],yellow:["#ffd84a","#f5a90c","#a8650a"],purple:["#b46cff","#8a3cf0","#5a1fb0"],red:["#ff7a6b","#e83b2e","#8f1a12"],gray:["#8d97b3","#5d6a92","#3b4568"],orange:["#ffb347","#f07a12","#9c4a05"]};function Qe({tone:e="green",size:t="m",busy:n,disabled:o,attract:i,children:r,style:a,onClick:d,...u}){let{play:m}=R(),[c,g,y]=ci[e],p=t==="s"?34:t==="l"?56:44,h=o||n;return jsx("button",{type:"button",...u,disabled:h,onClick:U=>{m("click"),d?.(U);},style:{minHeight:p,padding:t==="s"?"0 12px":"0 18px",borderRadius:p*.32,border:`3px solid ${v.ink}`,background:`linear-gradient(180deg, ${c} 0%, ${g} 100%)`,boxShadow:`inset 0 3px 0 rgba(255,255,255,.42), 0 4px 0 ${y}, 0 6px 0 rgba(0,0,0,.28)`,cursor:h?"default":"pointer",filter:o?"grayscale(.6) brightness(.85)":void 0,animation:i&&!h?"idos-u-attract 1.6s ease-in-out infinite":void 0,fontFamily:"inherit",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6,...I(t==="s"?14:t==="l"?22:17),whiteSpace:"nowrap",...a},children:n?"\u2026":r})}function fi({onClick:e,size:t=52}){let{play:n}=R();return jsx("button",{type:"button","aria-label":"Close",onClick:()=>{n("close"),e();},style:{width:t,height:t,borderRadius:"50%",border:`3px solid ${v.ink}`,background:"linear-gradient(180deg,#5d6a92,#3b4568)",boxShadow:"inset 0 3px 0 rgba(255,255,255,.25), 0 4px 0 rgba(0,0,0,.4)",cursor:"pointer",...I(t*.46),lineHeight:1,fontFamily:"inherit"},children:"\u2715"})}function Xe({title:e,icon:t,tone:n="navy",children:o,panelStyle:i,...r}){let a=n==="blue"?`linear-gradient(180deg, #19a3fb 0%, ${v.blueBody} 100%)`:`linear-gradient(180deg, #262c4e 0%, ${v.navy} 100%)`;return jsx(de,{...r,title:e?jsxs("div",{style:{position:"relative",margin:"-18px -48px 6px",padding:"14px 56px 12px",background:`linear-gradient(180deg, ${v.blue} 0%, #0a6ad4 100%)`,borderBottom:"3px solid #0a68f2",boxShadow:"inset 0 7px 0 rgba(255,255,255,.27), 0 3px 0 #03307a",borderRadius:"18px 18px 0 0",...I(24)},children:[t?jsx("span",{style:{display:"inline-grid",verticalAlign:"middle",marginRight:8,filter:"drop-shadow(0 2px 0 rgba(0,0,0,.35))"},children:jsx(N,{glyph:t,size:34})}):null,e]}):void 0,panelStyle:{background:a,border:`3px solid ${v.ink}`,boxShadow:"0 0 0 3px rgba(255,255,255,.12), 0 14px 30px rgba(0,0,0,.5)",...i},children:o})}function pi({title:e,corner:t,cornerLabel:n,children:o}){return jsxs("div",{style:{position:"relative",background:`linear-gradient(180deg, #3d4058 0%, ${v.topbar} 100%)`,borderBottom:`3px solid ${v.ink}`,boxShadow:"inset 0 3px 0 rgba(255,255,255,.1)",minHeight:56,display:"flex",alignItems:"center",padding:"8px 14px",gap:10,overflow:"hidden"},children:[jsx("div",{style:{...I(22),flex:"0 0 auto"},children:e}),jsx("div",{style:{flex:1,display:"flex",justifyContent:"center",minWidth:0},children:o}),t!==void 0?jsxs("div",{style:{alignSelf:"stretch",margin:"-8px -14px -8px 0",padding:"4px 18px 4px 30px",background:"#000",clipPath:"polygon(18px 0, 100% 0, 100% 100%, 0 100%)",display:"grid",alignContent:"center",justifyItems:"center",minWidth:96},children:[n?jsx("span",{style:I(12),children:n}):null,jsx("span",{style:I(20),children:t})]}):null]})}function gi({tabs:e,value:t,onChange:n}){let{play:o}=R();return jsx("div",{className:"idos-scroll",style:{display:"flex",gap:8,padding:"8px 10px",background:"#022b73",borderTop:`3px solid ${v.ink}`,overflowX:"auto"},children:e.map(i=>{let r=i.id===t;return jsxs("button",{type:"button",onClick:()=>{o("tab"),n(i.id);},style:{position:"relative",flex:"1 0 auto",minWidth:110,height:44,borderRadius:14,border:`3px solid ${v.ink}`,background:r?`linear-gradient(180deg, #5aa0ff 0%, ${v.tabOn} 100%)`:`linear-gradient(180deg, #45455f 0%, ${v.tabOff} 100%)`,boxShadow:r?"inset 0 4px 0 rgba(255,255,255,.2)":"none",cursor:"pointer",fontFamily:"inherit",...I(16),padding:"0 14px"},children:[i.label,i.alert?jsx("span",{style:{position:"absolute",right:-4,top:-6,width:16,height:16,borderRadius:"50%",background:"#ff243d",border:`2px solid ${v.ink}`}}):null]},i.id)})})}var mi={light:[v.listLight,"#eef5fb"],blue:[v.listBlue,v.listBlueInner],yellow:[v.listYellow,v.listYellowInner],navy:["#00266a","#0d94f2"]};function En({tone:e="light",dim:t,children:n,style:o}){let[i,r]=mi[e];return jsxs("div",{style:{position:"relative",borderRadius:16,border:`3px solid ${v.ink}`,background:i,padding:5,boxShadow:"0 4px 0 rgba(0,0,0,.3)",...o},children:[jsx("div",{style:{borderRadius:11,background:`linear-gradient(180deg, ${r} 0%, ${i} 100%)`,padding:"8px 10px",position:"relative",boxShadow:"inset 0 3px 0 rgba(255,255,255,.35)"},children:n}),t?jsx("div",{style:{position:"absolute",inset:0,borderRadius:14,background:"rgba(3,64,163,.62)",pointerEvents:"none"}}):null]})}var yi={gold:["#bf732b","#f5cc47","#f2b34a"],silver:["#5d6a8a","#cfd8e6","#a9b6cc"],bronze:["#8a4a1f","#e89a5c","#cc7a3d"],blue:["#0340a3","#0a7df5","#0561f0"],entry:["#002663","#0d94f2","#0d80f2"],me:["#002663","#fffc54","#ffdb3d"]};function hi({tone:e,children:t,right:n,height:o=60,rightWidth:i=120}){let[r,a,d]=yi[e];return jsx("div",{style:{position:"relative",height:o,borderRadius:14,border:`3px solid ${v.ink}`,background:r,padding:4,boxShadow:"0 4px 0 rgba(0,0,0,.3)"},children:jsxs("div",{style:{position:"relative",height:"100%",borderRadius:10,background:`linear-gradient(180deg, color-mix(in srgb, ${a} 80%, #fff) 0%, ${a} 45%)`,overflow:"hidden",display:"flex",alignItems:"center",gap:8,paddingLeft:6},children:[jsx("div",{style:{flex:1,minWidth:0,display:"flex",alignItems:"center",gap:8},children:t}),n?jsx("div",{style:{alignSelf:"stretch",width:i,flex:"none",paddingLeft:18,background:d,clipPath:"polygon(16px 0, 100% 0, 100% 100%, 0 100%)",display:"flex",alignItems:"center",justifyContent:"center",gap:6},children:n}):null]})})}var bi={1:["#ffe066","#f5a90c","#e83b2e"],2:["#f2f6fb","#a9b6cc","#1c8fe6"],3:["#f5b27a","#b8642e","#33b31d"]};function xi({place:e,size:t=44}){let[n,o,i]=bi[e];return jsxs("svg",{viewBox:"0 0 40 50",width:t*.8,height:t,"aria-hidden":true,style:{flex:"none",overflow:"visible"},children:[jsxs("g",{stroke:v.ink,strokeWidth:"2.4",strokeLinejoin:"round",children:[jsx("path",{d:"M9 2 L17 2 L23 20 L15 22 Z",fill:i}),jsx("path",{d:"M31 2 L23 2 L17 20 L25 22 Z",fill:i}),jsx("circle",{cx:"20",cy:"32",r:"15",fill:o}),jsx("circle",{cx:"20",cy:"31",r:"11",fill:n})]}),jsx("text",{x:"20",y:"36.5",textAnchor:"middle",fontSize:"15",fontWeight:"900",fill:o,stroke:v.ink,strokeWidth:"0.8",children:e})]})}function vi({children:e,color:t="#0a7ad9",size:n=46}){return jsxs("div",{style:{position:"relative",width:n,height:n*1.06,flex:"none",display:"grid",placeItems:"center"},children:[jsxs("svg",{viewBox:"0 0 82 87",style:{position:"absolute",inset:0,width:"100%",height:"100%"},"aria-hidden":true,children:[jsx("path",{d:"M41 3 L78 23 L78 64 L41 84 L4 64 L4 23 Z",fill:t,stroke:v.ink,strokeWidth:"5",strokeLinejoin:"round"}),jsx("path",{d:"M41 10 L71 26 L71 36 L11 36 L11 26 Z",fill:"rgba(255,255,255,.22)"})]}),jsx("span",{style:{position:"relative",...I(n*.4)},children:e})]})}function ki({name:e,src:t,inner:n="#5fd6ff",size:o=48}){let i=typeof t=="string"&&/^(https?:|data:|\/)/.test(t);return jsx("div",{style:{width:o,height:o,borderRadius:o*.22,background:"#144a8f",border:`3px solid ${v.ink}`,padding:o*.08,flex:"none",boxSizing:"border-box"},children:jsx("div",{style:{width:"100%",height:"100%",borderRadius:o*.14,background:i?`center / cover no-repeat url("${t}")`:`linear-gradient(180deg, color-mix(in srgb, ${n} 70%, #fff), ${n})`,display:"grid",placeItems:"center",...I(o*.42)},children:i?null:(e.trim()[0]??"?").toUpperCase()})})}function wi({color:e,height:t=170,children:n}){let[o,i]={blue:["#2f8bff","#1a5fd1"],red:["#ff4a4a","#c21f2e"],green:["#3fcf4a","#1f9a2c"]}[e];return jsxs("div",{style:{position:"relative",width:"100%",height:t},children:[jsxs("svg",{viewBox:"0 0 100 170",preserveAspectRatio:"none",style:{position:"absolute",inset:0,width:"100%",height:"100%"},"aria-hidden":true,children:[jsx("path",{d:"M8 8 L92 8 L92 158 L50 140 L8 158 Z",fill:i,stroke:v.ink,strokeWidth:"3",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"}),jsx("path",{d:"M14 10 L86 10 L86 148 L50 132 L14 148 Z",fill:o}),jsx("rect",{x:"2",y:"2",width:"96",height:"12",rx:"6",fill:"#ffce0d",stroke:v.ink,strokeWidth:"3",vectorEffect:"non-scaling-stroke"})]}),jsx("div",{style:{position:"relative",height:"100%",display:"grid",justifyItems:"center",alignContent:"start",gap:2,paddingTop:18},children:n})]})}function Ze({line:e,size:t=64,glyph:n,label:o,onClick:i}){let r=F(),a=n??(e?r.iconOf(e):"box");return jsxs("div",{onClick:i,style:{position:"relative",width:t,height:t*1.02,borderRadius:t*.2,border:`3px solid ${v.ink}`,background:"radial-gradient(circle at 50% 35%, #2f4aa0 0%, #1a2b6b 70%)",boxShadow:"inset 0 3px 0 rgba(255,255,255,.18), 0 3px 0 rgba(0,0,0,.35)",display:"grid",placeItems:"center",cursor:i?"pointer":void 0,flex:"none"},children:[jsx("span",{style:{marginTop:-t*.12},children:jsx(N,{glyph:a,size:t*.66,fallback:"box"})}),o!==void 0||e?jsx("span",{style:{position:"absolute",bottom:1,left:0,right:0,textAlign:"center",...I(Math.max(11,t*.22))},children:o??(e?z(e.amount):"")}):null]})}function In({value:e,max:t,tone:n="green",label:o,height:i=22}){let r=t>0?Math.max(0,Math.min(1,e/t)):0,a={green:["#8cf05a",v.fillGreen],orange:["#ffd06b",v.fillOrange],blue:["#5fe4ff","#16a3f0"]}[n];return jsxs("div",{style:{position:"relative",height:i,borderRadius:i/2,border:`3px solid ${v.ink}`,background:v.sliderBg,overflow:"hidden"},children:[jsx("div",{style:{position:"absolute",left:0,top:0,bottom:0,width:`${r*100}%`,background:`linear-gradient(180deg, ${a[0]} 0%, ${a[1]} 100%)`,boxShadow:"inset 0 3px 0 rgba(255,255,255,.35)",borderRadius:i/2,transition:"width .4s ease"}}),jsx("div",{style:{position:"relative",height:"100%",display:"grid",placeItems:"center",...I(Math.max(11,i*.6))},children:o??`${z(e)}/${z(t)}`})]})}function Si({glyph:e,value:t,max:n,label:o,onClick:i}){return jsxs("div",{onClick:i,style:{position:"relative",display:"flex",alignItems:"center",cursor:i?"pointer":void 0,paddingLeft:26},children:[jsx("div",{style:{flex:1},children:jsx(In,{value:t,max:n,tone:"orange",height:26,label:o})}),jsx("div",{style:{position:"absolute",left:0,width:50,height:50,borderRadius:12,border:`3px solid ${v.ink}`,background:"linear-gradient(180deg,#4aa8ff,#1d6fd0)",display:"grid",placeItems:"center",boxShadow:"inset 0 3px 0 rgba(255,255,255,.35)"},children:jsx(N,{glyph:e,size:34})})]})}function Ri({tone:e="orange",children:t,width:n=300}){let[o,i,r]={orange:["#ff9a1a","#c4600a","#ffd06b"],plum:["#8a1fff","#5a10b8","#c27cff"],sky:["#2fa8ff","#1b6fc4","#8fd4ff"]}[e];return jsxs("div",{style:{position:"relative",width:n,maxWidth:"100%",height:n*.22,margin:"0 auto"},children:[jsxs("svg",{viewBox:"0 0 300 66",preserveAspectRatio:"none",style:{position:"absolute",inset:0,width:"100%",height:"100%"},"aria-hidden":true,children:[jsxs("g",{stroke:v.ink,strokeWidth:"4",strokeLinejoin:"round",children:[jsx("path",{d:"M3 18 L52 18 L52 58 L3 58 L18 38 Z",fill:o}),jsx("path",{d:"M297 18 L248 18 L248 58 L297 58 L282 38 Z",fill:o}),jsx("path",{d:"M44 22 L60 22 L60 62 L44 56 Z M256 22 L240 22 L240 62 L256 56 Z",fill:i}),jsx("rect",{x:"52",y:"4",width:"196",height:"52",rx:"10",fill:o})]}),jsx("rect",{x:"60",y:"9",width:"180",height:"9",rx:"4.5",fill:r})]}),jsx("div",{style:{position:"absolute",inset:"0 20% 12% 20%",display:"grid",placeItems:"center",...I(n*.075),whiteSpace:"nowrap"},children:t})]})}function Ci({children:e}){return jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 12px 3px 4px",borderRadius:999,background:"#1f1f29",border:"2px solid rgba(255,255,255,.2)",...I(14)},children:[jsx(N,{glyph:"clock",size:20}),e]})}function Li({children:e}){return jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,justifyContent:"center",margin:"6px 0"},children:[jsx("span",{style:{flex:"0 1 80px",height:5,borderRadius:3,background:"linear-gradient(90deg, transparent, #ffe066)"}}),jsx("span",{style:I(17),children:e}),jsx("span",{style:{flex:"0 1 80px",height:5,borderRadius:3,background:"linear-gradient(90deg, #ffe066, transparent)"}})]})}function Ni({size:e=220,color:t="rgba(255,240,150,.45)"}){return jsx("div",{style:{width:e,height:e,animation:"idos-u-spin 7s linear infinite",pointerEvents:"none"},children:jsx("svg",{viewBox:"0 0 200 200",style:{width:"100%",height:"100%"},"aria-hidden":true,children:Array.from({length:12},(n,o)=>jsx("path",{d:"M100 100 L92 0 L108 0 Z",fill:t,transform:`rotate(${o*30} 100 100)`},o))})})}function Mi({title:e,glyph:t="star",value:n,milestones:o,premiumOwned:i,onPremiumLock:r,onClaim:a,onClose:d}){let[u,m]=useState(null),c=o.some(p=>(p.premium?.length??0)>0),g=(p,h)=>{m(`${h}:${p}`),a(p,h).finally(()=>m(null));},y=(p,h)=>{let U=h==="free"?p.free:p.premium??[],D=h==="free"?p.state:p.premiumState??p.state,P=h==="premium"&&!i;return U.length===0?jsx("div",{}):jsxs("div",{style:{display:"grid",justifyItems:"center",gap:6},children:[jsxs("div",{style:{display:"flex",gap:4,flexWrap:"wrap",justifyContent:"center",position:"relative"},children:[U.slice(0,3).map((G,q)=>jsx(Ze,{line:G,size:50},q)),D==="claimed"||P?jsx("span",{onClick:P?r:void 0,style:{position:"absolute",inset:-2,borderRadius:12,background:"rgba(16,23,46,.55)",display:"grid",placeItems:"center",cursor:P&&r?"pointer":void 0},children:jsx(N,{glyph:P?"lock":"check",size:30})}):null]}),D==="ready"&&!P?jsx(Qe,{tone:"green",size:"s",attract:true,busy:u===`${h}:${p.id}`,onClick:()=>g(p.id,h),children:w("claim")}):null]})};return jsxs(Xe,{title:e??w("rewards"),tone:"blue",onClose:d,width:c?460:400,children:[c?jsxs("div",{style:{display:"grid",gridTemplateColumns:"64px 1fr 1fr",gap:8,textAlign:"center"},children:[jsx("span",{}),jsx("span",{style:{...I(15),background:"#3fae2a",borderRadius:10,border:`2px solid ${v.ink}`,padding:"3px 0"},children:w("free")}),jsx("span",{style:{...I(15),background:"#f5a90c",borderRadius:10,border:`2px solid ${v.ink}`,padding:"3px 0"},children:w("premium")})]}):null,jsx("div",{className:"idos-scroll",style:{display:"grid",gap:8,maxHeight:"58vh",overflowY:"auto",padding:"2px 2px 6px"},children:o.map(p=>{let h=n>=p.required||p.state!=="locked";return jsx(En,{tone:p.state==="ready"||p.premiumState==="ready"?"yellow":"light",children:jsxs("div",{style:{display:"grid",gridTemplateColumns:c?"56px 1fr 1fr":"56px 1fr",alignItems:"center",gap:8},children:[jsxs("div",{style:{width:54,height:54,borderRadius:"50%",border:`3px solid ${v.ink}`,background:h?"linear-gradient(180deg,#ffe066,#f5a90c)":"linear-gradient(180deg,#8d97b3,#5d6a92)",boxShadow:"inset 0 3px 0 rgba(255,255,255,.4)",display:"grid",placeItems:"center",position:"relative"},children:[jsx("span",{style:{position:"absolute",top:-10},children:jsx(N,{glyph:t,size:22})}),jsx("span",{style:I(p.label?13:16),children:p.label??z(p.required)})]}),y(p,"free"),c?y(p,"premium"):null]})},p.id)})})]})}var $n=`
|
|
40
|
+
@keyframes idos-u-spin { to { transform: rotate(360deg); } }
|
|
41
|
+
@keyframes idos-u-attract { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }
|
|
42
|
+
@keyframes idos-u-pop { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }
|
|
43
|
+
@keyframes idos-u-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
|
|
44
|
+
@keyframes idos-u-shake { 0%,100% { transform: rotate(0); } 25% { transform: rotate(-7deg); } 75% { transform: rotate(7deg); } }
|
|
45
|
+
`;function An(){return jsx("style",{children:$n})}function Ui(e){return jsx(Pi,{state:e})}function Pi({state:e}){return jsxs(Fragment,{children:[jsx($i,{}),jsx(Di,{}),jsx(Oi,{}),e.celebration?jsx(Ei,{lines:e.celebration.lines,title:e.celebration.options?.title,sound:e.celebration.options?.sound,onDone:e.finishCelebration},e.celebration.lines.map(t=>t.id).join()):null,jsx(Un,{store:e.notifications})]})}var Je=560;function Ei({lines:e,title:t,sound:n="reward",onDone:o}){let i=R(),r=F(),a=c(),d=useRef(new Map),u=useRef(false);useEffect(()=>{i.play(n);},[]);let m=()=>{u.current||(u.current=true,i.fx.fly(e,c=>d.current.get(`${c.kind}:${c.id}`)?.getBoundingClientRect()??null));};return jsxs(Xe,{tone:"blue",title:t??w("youGot"),onClose:()=>{m(),o();},sound:false,variant:"center",width:420,children:[jsxs("div",{style:{position:"relative",overflow:"hidden",display:"flex",flexWrap:"wrap",gap:14,justifyContent:"center",padding:"22px 0"},children:[jsx("div",{"aria-hidden":"true",style:{position:"absolute",inset:0,overflow:"hidden",pointerEvents:"none",maskImage:"radial-gradient(closest-side, #000 35%, transparent 100%)",WebkitMaskImage:"radial-gradient(closest-side, #000 35%, transparent 100%)"},children:jsx("div",{style:{position:"absolute",width:Je,height:Je,left:`calc(50% - ${Je/2}px)`,top:`calc(50% - ${Je/2}px)`,background:`repeating-conic-gradient(color-mix(in srgb, ${l.gold} 16%, transparent) 0 12deg, transparent 12deg 24deg)`,animation:i.motion.on?"idos-rays 14s linear infinite":"none",borderRadius:"50%"}})}),e.map((c,g)=>jsxs("div",{style:{display:"grid",justifyItems:"center",gap:4,zIndex:1,animation:`idos-pop-in ${l.slow} ${me} ${i.motion.on?.12*g:0}s both`},children:[jsx("div",{ref:y=>{y&&d.current.set(`${c.kind}:${c.id}`,y);},children:jsx(Ze,{glyph:r.iconOf(c),label:`+${Ae(c)}`,size:78})}),jsx("div",{style:{...I(13),maxWidth:96,textAlign:"center"},children:Ge(c,r,a)})]},`${c.kind}:${c.id}`))]}),jsx(Ii,{onPress:m})]})}function Ii({onPress:e}){let t=le();return jsx(Qe,{tone:"green",size:"l",attract:true,onClick:()=>{e(),t();},children:w("great")})}function $i(){let e=xe(t=>t.flights);return jsx(Fragment,{children:e.map(t=>jsx(Ai,{flight:t},t.key))})}function Ai({flight:e}){let t=useRef(null),n=R(),o=F();return useLayoutEffect(()=>{let i=t.current;if(!i||typeof i.animate!="function"){n.fx.arrive(e.key);return}let r=e.to.x-e.from.x,a=e.to.y-e.from.y,d=(Math.random()-.5)*120,u=i.animate([{transform:"translate(0px, 0px) scale(.4)",opacity:0},{transform:`translate(${d}px, ${ -40-Math.random()*40}px) scale(1.15)`,opacity:1,offset:.3},{transform:`translate(${r}px, ${a}px) scale(.55)`,opacity:1}],{duration:e.durationMs,delay:e.delayMs,easing:"cubic-bezier(.45,.05,.55,.95)",fill:"both"});return u.onfinish=()=>n.fx.arrive(e.key),()=>{u.onfinish=null,u.cancel();}},[]),jsx("div",{ref:t,style:{position:"absolute",left:e.from.x-16,top:e.from.y-16,width:32,height:32,zIndex:60,pointerEvents:"none",opacity:0},children:jsx(N,{glyph:o.iconOf(e.line),size:32})})}var Dn=["#ffd24a","#ffffff","#59d35b","#4fb1ff","#ff7ab8"];function Di(){let e=xe(t=>t.bursts);return jsx(Fragment,{children:e.map(t=>jsx(Bi,{x:t.at.x,y:t.at.y},t.key))})}function Bi({x:e,y:t}){let n=useRef(null);return useLayoutEffect(()=>{let o=n.current;if(!o)return;let i=[];return o.querySelectorAll("span").forEach((r,a)=>{if(typeof r.animate!="function")return;let d=a/16*Math.PI*2+Math.random()*.3,u=50+Math.random()*60;i.push(r.animate([{transform:"translate(0,0) scale(1)",opacity:1},{transform:`translate(${Math.cos(d)*u}px, ${Math.sin(d)*u+20}px) scale(.2)`,opacity:0}],{duration:650+Math.random()*200,easing:"cubic-bezier(.1,.8,.3,1)",fill:"forwards"}));}),()=>i.forEach(r=>r.cancel())},[]),jsx("div",{ref:n,style:{position:"absolute",left:e,top:t,width:0,height:0,zIndex:61,pointerEvents:"none"},children:Array.from({length:16},(o,i)=>jsx("span",{style:{position:"absolute",left:-4,top:-4,width:8,height:8,borderRadius:i%3===0?2:"50%",background:Dn[i%Dn.length]}},i))})}function Oi(){let e=c(),[t,n]=useState(false);return useEffect(()=>{if(!e)return;let o,i=e.on("error:connection",()=>{n(true),clearTimeout(o),o=setTimeout(()=>n(false),5e3);});return ()=>{i(),clearTimeout(o);}},[e]),t?jsx("div",{role:"alert",style:{position:"absolute",top:"calc(8px + env(safe-area-inset-top))",left:"50%",transform:"translateX(-50%)",zIndex:45,padding:"6px 14px",borderRadius:999,background:l.red,...C,color:l.onRed,textShadow:l.onRedOutline,fontSize:13,pointerEvents:"none",animation:`idos-rise-in ${l.normal} ease both`},children:w("offline")}):null}var Fi=e=>bt(e);function zn(){return useSyncExternalStore(Fi,Q,Q)}function Ki({style:e}){let t=zn();return jsx(Dt,{tabs:[{id:"en",label:"English"},{id:"ru",label:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439"}],value:t,onChange:ht,style:e})}var jt=["economy","events","social","profile","other"];function Kn(e){return [...e].sort((t,n)=>{let o=jt.indexOf(t.group??"other")-jt.indexOf(n.group??"other");return o!==0?o:(t.order??100)-(n.order??100)||t.label.localeCompare(n.label)})}function Wi({items:e,onOpen:t}){let{play:n}=R(),o=Bt(),i=Nt(Kn(e),a=>a.group??"other"),r=0;return jsx("div",{style:{display:"grid",gap:18},children:i.map(a=>jsxs("div",{children:[jsx(At,{children:jt.includes(a.key)?w(a.key):a.key}),jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(104px, 1fr))",gap:10},children:a.items.map(d=>jsxs("button",{type:"button",className:"idos-press","data-tutorial-anchor":`feature:${d.id}`,onClick:()=>{n("click"),t(d.id);},style:{...O,position:"relative",padding:"12px 6px 10px",display:"grid",justifyItems:"center",gap:6,cursor:"pointer",color:l.text,...o(r++)},children:[jsx(N,{glyph:d.icon??"box",size:40}),jsx("span",{style:{...C,fontSize:13,textAlign:"center",lineHeight:1.15},children:d.label}),jsx(Se,{count:d.badge??0})]},d.id))})]},a.key))})}export{Se as Badge,X as Button,Oo as Card,Do as Center,Qo as ConfirmPopup,Wo as CryptoBalanceChip,H as DEFAULT_PLAYER_PREFS,Zt as DEFAULT_UI_CONFIG,hn as DESKTOP_MIN_PX,ye as EASE_IN,j as EASE_OUT,me as EASE_POP,Ao as EmptyState,Wi as FeatureGrid,_o as Field,te as FxStore,xn as GLYPHS,N as Icon,we as IconButton,Io as ItemTile,ut as KIT_CSS,Wt as KitPortal,yt as LANGUAGE_EVENT,mt as LANGUAGE_KEY,je as LEVEL_TONE,Ki as LanguageSwitch,Te as NotificationStore,se as ON_TONE,de as Popup,$o as ProgressBar,vt as RARITY_ORDER,Rn as ResourceBadge,$t as ResourceCounter,Eo as ResourceList,Me as SOUND_PRESETS,At as SectionTitle,Ko as Select,Sn as Spinner,yn as TABLET_MIN_PX,at as TOAST_DURATION,Dt as Tabs,Fo as TextArea,zo as TextInput,Bo as Timer,v as U,ki as UAvatar,Qe as UButton,fi as UCloseCircle,Li as UDivider,wi as UFlag,vi as UHexRank,ot as UI_SOUND_EVENTS,Si as UIconSlider,Ze as UItemFrame,xi as UMedal,Mi as UMilestonesPopup,Xe as UPopup,hi as URankRow,Ni as URays,Ri as URibbon,En as URow,ui as UScreen,In as USlider,An as UStyles,gi as UTabs,Ci as UTimer,pi as UTopBar,$n as U_CSS,Vt as U_PATTERN,fo as UiKitProvider,ge as UiSoundEngine,Zo as Window,kt as bundleLines,wn as buttonStyle,wo as canAfford,ie as configSection,vo as costLines,Ct as countdown,nn as counterKeys,st as createNotificationStore,Tt as cryptoBalance,De as currencyGlyph,_n as defineUiConfig,rt as effectiveVolume,xo as errorText,z as formatAmount,Rt as formatCryptoAmount,mn as grantLines,ko as grantedBy,Nt as groupBy,tn as iconsFor,Co as iouCurrencies,Mt as iouCurrencyOf,Ut as isGlyph,Lt as itemDefinitions,Pt as itemGlyph,ke as layoutFor,pn as makeT,gn as mergeLines,pe as motionDurations,bt as onLanguageChange,C as outlined,O as panel,it as parsePlayerPrefs,Q as pickLanguage,yo as plural,Ro as rarityRank,Ui as renderKitOverlays,en as resolveSound,Ne as resolveUiConfig,Ge as resourceName,dt as screenBackground,Vo as setAutoPopupsHeld,ht as setLanguage,Kn as sortFeatures,lt as themeVars,ve as tokenGlyph,St as tokenName,wt as tokenParts,We as toneSurface,di as uBackdrop,I as uText,w as uiT,kn as useAnimatedNumber,It as useBalances,F as useCatalog,lo as useCelebrate,Ke as useCounterValue,ze as useGameLayout,zn as useLanguage,To as useLayout,ao as useMotion,co as useNotify,Uo as useNow,so as usePlayerPrefs,le as usePopupClose,Fe as usePresence,ro as useSound,Bt as useStagger,uo as useToast,R as useUiKit,l as v,Ue as well};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idosgames/react",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Shared React glue for the iDosGames host shell and modules: the client provider, status provider, live-state hooks, and a controller-context factory. Extracted from what every template used to copy-paste. The /ui subpath is the interface kit every module is built from: popups and windows with animations, synthesized interface sounds, rewards that fly to their counters, and one config file for the whole game.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"//": "react/react-dom are peers (consumer-provided, never bundled). @idosgames/core is a real range for the same reason as in @idosgames/wallet — a published package must pin the core whose types it references.",
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@idosgames/core": "^0.
|
|
53
|
+
"@idosgames/core": "^0.22.0"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"react": "^18.3.1 || ^19.0.0",
|