PageSourceSearch

https://streem.gg/_next/static/chunks/6705-e983f116ac636850.js

js streem.gg collected 2026-10-09 21:40:36 UTC 127,013 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6705],{12982:(e,t,l)=>{"use strict";l.d(t,{A:()=>n});let n=(0,l(5475).A)("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])},15159:(e,t,l)=>{"use strict";l.d(t,{B:()=>s});var n=l(66857);function s(e,t){var l,s;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{style:0,hat:0},[a,r]=(0,n.useState)(null),[o,c]=(0,n.useState)(null),[d,u]=(0,n.useState)(null),[h,f]=(0,n.useState)(0);(0,n.useEffect)(()=>{if(!e)return;let t=e=>r(e),l=e=>c(e&&e.seat>=0?e:null),n=e=>{var t;u(null!=(t=null==e?void 0:e.error)?t:null),setTimeout(()=>u(null),2600)},s=e=>{var t;return f(null!=(t=null==e?void 0:e.seated)?t:0)};return e.on("poker:state",t),e.on("poker:you",l),e.on("poker:error",n),e.on("poker:realtable",s),()=>{e.off("poker:state",t),e.off("poker:you",l),e.off("poker:error",n),e.off("poker:realtable",s)}},[e]),(0,n.useEffect)(()=>{if(!t||!e)return;let l=()=>{c(null),e.emit("poker:watch")};return l(),e.on("connect",l),()=>{e.off("connect",l),e.emit("poker:unwatch")}},[t,e]);let p=(0,n.useRef)(i);p.current=i;let x=(0,n.useMemo)(()=>{let t=(t,l)=>null==e?void 0:e.emit(t,l),l=()=>({style:p.current.style,hat:p.current.hat});return{sit:e=>t("poker:sit",{buyIn:e,...l()}),action:(e,l)=>t("poker:action",{type:e,amount:l}),topUp:e=>t("poker:topup",{amount:e}),muck:e=>t("poker:muck",{muck:e}),leave:()=>t("poker:leave"),invite:()=>t("poker:invite"),practice:()=>t("poker:practice",l()),leavePractice:()=>t("poker:practice:leave"),tourneyCreate:e=>t("poker:tourney:create",{buyIn:e,...l()}),tourneyRegister:()=>t("poker:tourney:register",l()),tourneyUnregister:()=>t("poker:tourney:unregister"),tourneyStart:()=>t("poker:tourney:start"),tourneyCancel:()=>t("poker:tourney:cancel"),tourneyInvite:()=>t("poker:tourney:invite"),tourneyWatch:e=>t(e?"poker:tourney:watch":"poker:tourney:unwatch")}},[e]);return{state:a,hole:null!=(l=null==o?void 0:o.hole)?l:[],mySeat:null!=(s=null==o?void 0:o.seat)?s:-1,error:d,realSeated:h,actions:x}}},21463:(e,t,l)=>{"use strict";l.d(t,{Ut:()=>s,ic:()=>o,rc:()=>a,xX:()=>n});let n={tide:"#4f8fd0",reef:"#e0913c",deep:"#6a62b8",spark:"#e7c23a",toxic:"#5aa84a",frost:"#5fd0c8"},s={tide:"\uD83C\uDF0A",reef:"\uD83D\uDC20",deep:"\uD83E\uDD91",frost:"❄️",toxic:"\uD83E\uDDEA",spark:"⚡"},i={common:"#9aa0a8",uncommon:"#4caf50",rare:"#4f8fd0",epic:"#a05fd0",legendary:"#e0b23c"},a=e=>{var t;return null!=(t=i[e])?t:"#9aa0a8"},r=[{name:"Minnow",icon:"\uD83D\uDC1F",min:0},{name:"Angelfish",icon:"\uD83D\uDC20",min:950},{name:"Lionfish",icon:"\uD83D\uDC21",min:1050},{name:"Reef Shark",icon:"\uD83E\uDD88",min:1150},{name:"Orca",icon:"\uD83D\uDC0B",min:1300},{name:"Leviathan",icon:"\uD83D\uDD31",min:1500}];function o(e){let t=0;for(let l=r.length-1;l>=0;l--)if(e>=r[l].min){t=l;break}let l=r[t+1];return{name:r[t].name,icon:r[t].icon,next:l?{name:l.name,toGo:l.min-e}:null}}},35417:(e,t,l)=>{"use strict";l.d(t,{Ar:()=>a,Up:()=>n,xR:()=>s});let n=(e,t)=>e[Math.abs(0|t)%e.length],s={roundStart:["TWO FISH. ONE PIER. NO NOTES.","JUDGES ARE SEATED. THE JUDGE IS ME.","HANDS UP. CHINS UP. LATS OUT.","I WATCHED THE WARM-UP. I AM NOT OKAY.","GENTLEFISH — POSE FIRST, PUNCH SECOND.","THE DECK IS OILED. THAT ONE IS ON ME.","PLEASE WELCOME BOTH PHYSIQUES."],firstBlood:["FIRST CONTACT! SOMEBODY GET ME A TOWEL.","OH, HE TOUCHED HIM. HE TOUCHED HIM WITH INTENT.","FIRST BLOOD — I’M WRITING THAT DOWN. TWICE.","THAT LANDED. I FELT IT IN MY DELTS.","AND THE PIER GASPS. SO DO I. PROFESSIONALLY."],combo:["THAT’S A ROUTINE! THAT’S CHOREOGRAPHY!","HE’S DOING THE ENTIRE POSEDOWN ON HIM!","SOMEBODY STOP HIM. NOT ME. SOMEBODY.","AND NOT ONE OF THOSE HITS APOLOGISED.","THIS IS NO LONGER A FIGHT, IT IS A RECITAL.","HE IS BEING PERFORMED UPON."],comeback:["FROM THE FLOOR! FROM THE OIL! FROM THE DEAD!","ONE PIXEL OF HEALTH AND ONE FULL BAR OF EGO.","THAT’S NOT A COMEBACK, THAT’S A COSTUME CHANGE.","I HAD ALREADY WRITTEN THE OBITUARY. I AM EATING IT.","NOBODY DIES AT PEAK WEEK."],perfect:["PERFECT. UNTOUCHED. STILL DRY.","NOT ONE HAIR OUT OF PLACE. NOT ONE.","P
1ERFECT ROUND — HE DIDN’T EVEN SMUDGE THE TAN.","PERFECT! MY CLIPBOARD HAS A CRUSH."],timeout:["TIME! YOU TWO JUST POSED AT EACH OTHER FOR A MINUTE.","TIME. THE JUDGES SAW EVERYTHING. THE JUDGES ARE TIRED.","SIXTY SECONDS AND THE ONLY THING THAT LANDED WAS EYE CONTACT.","TIME! DECIDED BY HEALTH BAR. LIKE COWARDS.","OUT OF TIME. NOBODY WON. EVERYBODY LOOKED GREAT."],ko:["SERVED. CHILLED. GARNISHED.","HE’S ASLEEP ON MY NICE PIER.","FOLDED LIKE A DECKCHAIR.","SOMEONE COVER HIM. A BLANKET. A TARP. ANYTHING.","DOWN — AND HE WENT DOWN BEAUTIFULLY, I’LL GIVE HIM THAT.","THAT’S THE POSE. THAT’S THE FINAL POSE.","HE’S HORIZONTAL. TEN FROM ME."],winYou:["YOUR CHAMPION! LOOK AT HIM! LOOK AT HIM!","TAKE A LAP. TAKE TWO. TAKE YOUR SHIRT OFF — IT’S ALREADY OFF.","WINNER. AND FRANKLY, WINNER OF EVERYTHING.","HE CAME. HE FLEXED. HE FILED THE PAPERWORK.","OIL HIM AGAIN. HE’S EARNED IT.","AND STILL, AND ALWAYS, GORGEOUS."],winFoe:["IT IS FINE. YOU WERE THE PRETTIEST LOSER OUT THERE.","YOU LOOKED INCREDIBLE FOR ROUGHLY NINE SECONDS.","THE BODY WAS THERE. THE PLAN WAS NOT.","GORGEOUS. UNEMPLOYED. HORIZONTAL."]},i=new WeakMap;function a(e,t){var l;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,s=e.currentTime,a=e.createGain();a.gain.value=.9*n,a.connect(e.destination);let r=(e,t,l,n)=>{e.gain.setValueAtTime(1e-4,t),e.gain.exponentialRampToValueAtTime(Math.max(2e-4,l),t+.006),e.gain.exponentialRampToValueAtTime(1e-4,t+n)},o=function(t,l,n,i,o){let c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:s,d=e.createOscillator(),u=e.createGain();d.type=t,d.frequency.setValueAtTime(l,c),d.frequency.exponentialRampToValueAtTime(Math.max(20,n),c+i),r(u,c,o,i),d.connect(u),u.connect(a),d.start(c),d.stop(c+i+.02)},c=function(t,l,n,o,c,d){let u=arguments.length>6&&void 0!==arguments[6]?arguments[6]:s,h=e.createBufferSource(),f=e.createBiquadFilter(),p=e.createGain();h.buffer=function(e){let t=i.get(e);if(!t){let l=(t=e.createBuffer(1,Math.floor(.6*e.sampleRate),e.sampleRate)).getChannelData(0),n=1234567;for(let e=0;e<l.length;e++)n=0x41c64e6d*n+12345&0x7fffffff,l[e]=n/0x3fffffff-1;i.set(e,t)}return t}(e),f.type=t,f.Q.value=o,f.frequency.setValueAtTime(l,u),f.frequency.exponentialRampToValueAtTime(Math.max(40,n),u+c),r(p,u,d,c),h.connect(f),f.connect(p),p.connect(a),h.start(u),h.stop(u+c+.02)},d=null!=(l=t.str)?l:0;switch(t.t){case"hit":{if(t.proj){o("sine",220,70,.14,.3),c("bandpass",1800,500,1.2,.16,.3);break}let e=[150,115,90][d],l=[.07,.1,.15][d];o("sine",e,.45*e,l,[.28,.36,.46][d]),c("bandpass",[3200,2400,1600][d],[1400,900,500][d],1.4,.9*l,[.22,.3,.4][d]),2===d&&o("square",70,40,.12,.08),t.counter&&o("triangle",1320,880,.12,.12,s+.02);break}case"block":c("highpass",3600,2200,.8,.05,.3),o("square",950,700,.04,.06);break;case"swing":c("bandpass",500,1700,2,[.06,.08,.11][d],[.06,.08,.11][d]);break;case"special":c("bandpass",400,2200,1.5,.18,.14),o("triangle",330,660,.16,.06);break;case"proj":o("sawtooth",180,520,.22,.1),c("bandpass",700,2600,1.2,.24,.16);break;case"clash":o("triangle",1600,1200,.1,.16),c("highpass",3e3,2e3,1,.08,.2);break;case"super":[262,330,392,523].forEach((e,t)=>o("sawtooth",e,1.01*e,.5,.05,s+.03*t)),c("bandpass",300,4e3,1,.55,.2),o("sine",60,40,.5,.35);break;case"grab":o("square",160,120,.06,.08);break;case"throw":o("sine",80,35,.22,.5),c("lowpass",900,200,.7,.2,.35);break;case"tech":c("highpass",3e3,2e3,1,.06,.25),o("triangle",880,1320,.08,.1);break;case"parry":o("triangle",2093,1568,.25,.18),o("sine",1046,1046,.3,.1);break;case"armor":o("square",220,180,.08,.12),c("bandpass",1200,900,3,.08,.2);break;case"land":o("sine",120,60,.05,.08);break;case"dash":c("lowpass",1200,300,.7,.12,.1);break;case"ko":o("sine",70,28,.9,.6),c("lowpass",1400,120,.7,.7,.45),!1===t.mine?(o("triangle",330,320,.5,.14,s+.25),o("triangle",247,240,.7,.12,s+.4)):[523,659,784].forEach((e,t)=>o("triangle",e,e,.45,.16,s+.25+.09*t));break;case"round":o("triangle",1318,1310,.6,.12),o("sine",659,655,.7,.1);break;case"fight":o("triangle",988,980,.18,.18),o("triangle",1318,1310,.4,.16,s+.12);break;case"timeup":o("square",440,220,.5,.08);break;
1case"matchend":!1===t.mine?[392,311,247,196].forEach((e,t)=>o("triangle",e,e,.5,.13,s+.16*t)):([523,659,784,1047].forEach((e,t)=>o("triangle",e,e,.45,.17,s+.12*t)),o("triangle",1047,1047,.9,.14,s+.6))}setTimeout(()=>a.disconnect(),1600)}},36705:(e,t,l)=>{"use strict";l.r(t),l.d(t,{default:()=>ew});var n=l(3773),s=l(77766),i=l(59520),a=l(6822),r=l(35610),o=l(37541),c=l(43363),d=l(5475);let u=(0,d.A)("Hammer",[["path",{d:"m15 12-8.373 8.373a1 1 0 1 1-3-3L12 9",key:"eefl8a"}],["path",{d:"m18 15 4-4",key:"16gjal"}],["path",{d:"m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172V7l-2.26-2.26a6 6 0 0 0-4.202-1.756L9 2.96l.92.82A6.18 6.18 0 0 1 12 8.4V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5",key:"b7pghm"}]]);var h=l(66857),f=l(14906),p=l(37572),x=l(47654),m=l(78186),g=l(71442),y=l(23125),b=l(57132),v=l(32939),j=l(40071);let k=(0,d.A)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var w=l(12982);let S=(0,d.A)("Music2",[["circle",{cx:"8",cy:"18",r:"4",key:"1fc0mg"}],["path",{d:"M12 18V2l7 4",key:"g04rme"}]]);var E=l(62526);let D=JSON.parse('[{"id":"5yx6BWlEVcY","label":"Chillhop"},{"id":"4xDzrJKXOOY","label":"Synthwave"},{"id":"S_MOd40zlYU","label":"Dark Ambient"}]'),C={font:"600 11px ".concat(E.gx.display),letterSpacing:"0.5px",textTransform:"uppercase",color:E.c.textMuted,margin:"0 0 6px"};function T(e){let{sfxOn:t=!0,onToggleSfx:l}=e,[s,i]=(0,h.useState)(!1),[a,r]=(0,h.useState)(null);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:()=>i(e=>!e),title:"Music & sound",style:E.wJ(s||null!==a),children:(0,n.jsx)(S,{className:"h-4 w-4"})}),s&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"fixed inset-0 z-[19]",onClick:()=>i(!1)}),(0,n.jsxs)("div",{style:{position:"absolute",right:0,top:48,zIndex:20,width:216,...E.LQ(E.c.panel),boxShadow:"0 0 0 2px ".concat(E.c.borderDark,", 6px 8px 0 rgba(0,0,0,0.4)"),padding:E.xe.md,color:E.c.text},children:[(0,n.jsx)("div",{style:C,children:"Audio"}),l&&(0,n.jsxs)("button",{onClick:l,style:{...E.zq,width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 10px",fontSize:12,marginBottom:E.xe.md},children:[(0,n.jsx)("span",{children:t?"\uD83D\uDD0A Game sounds":"\uD83D\uDD07 Game sounds"}),(0,n.jsx)("span",{style:{...E.LQ(t?E.c.success:E.c.borderDark),padding:"1px 6px",font:"700 10px ".concat(E.gx.display),color:t?E.c.textInk:E.c.textMuted},children:t?"ON":"OFF"})]}),(0,n.jsx)("div",{style:C,children:"Lofi radio"}),(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:E.xe.xs},children:[D.map((e,t)=>(0,n.jsxs)("button",{onClick:()=>r(e=>e===t?null:t),style:{...a===t?E.tB:E.zq,width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",padding:"8px 10px",fontSize:12,textAlign:"left"},children:[(0,n.jsx)("span",{children:e.label}),(0,n.jsx)("span",{children:a===t?"⏸":"▶"})]},e.id)),null!==a&&(0,n.jsx)("button",{onClick:()=>r(null),style:{...E.zq,width:"100%",padding:"6px 10px",fontSize:12,marginTop:E.xe.xs},children:"Stop ⏹"})]}),(0,n.jsx)("p",{style:{margin:"".concat(E.xe.sm,"px 0 0"),fontFamily:E.gx.body,fontSize:10,lineHeight:1.3,color:E.c.textMuted},children:"Live radio \xb7 streamed from YouTube"})]})]}),null!==a&&(0,n.jsx)("iframe",{title:"lofi-audio",src:"https://www.youtube.com/embed/".concat(D[a].id,"?autoplay=1&playsinline=1"),allow:"autoplay; encrypted-media",style:{position:"absolute",left:-99999,top:0,width:320,height:180,border:0}},D[a].id)]})}var N=l(28994),A=l(21463),I=l(66382),M=l.n(I),_=l(93402),R=l(82159),F=l(15159),L=l(35417),O=l(79934),z=l(27237),H=l(82979),Z=l(74592),B=l(58805);let P=e=>!!e.junk||e.value<0,Y=e=>e.value<0||e.items.length>0&&e.items.every(P),W=e=>e?e.charAt(0).toUpperCase()+e.slice(1):"",q=(0,R.default)(()=>Promise.all([l.e(6989),l.e(8251),l.e(2164)]).then(l.bind(l,48251)),{loadableGenerated:{webpack:()=>[48251]},ssr:!1}),G=(0,R.default)(()=>Promise.all([l.e(6989),l.e(5549),l.e(9783)]).then(l.bind(l,85549)),{loadableGenerated:{webpack:()=>[85549]},ssr:!1}),U=(0,R.default)(()=>l.e(9646).then(l.bind(l,59646)),{loadableGenerated:{webpack:()=>[59646]},ssr:!1}),Q=(0,R.default)(()=>Promise.all([l.e(3428),l.e(1745)]).then(l.bind(l,11745)),{loadableGenerated:{webpack:()=>[11745]},ssr:!1}),V=(0,R.default)(()=>Promise.all([l.e(2313),l.e(4685)]).then(l.bind(l,4685)),{loadableGenerated:{webpack:()=>[4685]},ssr:!1}),K=(0,R.default)(()=>Promise.all([l.e(2313),l.e(5902)]).then(l.bind(l,75902)),{loadableGenerated:{webpack:()=>[75902]},ssr:!1}),J=(0,R.default)(()=>Promise.all([l.e(233),l.e(7667),l.e(5684)]).then(l.bind(l,25684)),{loadableGenerated:{webpack:()=>[25684]},ssr:!1}),X=(0,R.default)(()=>Promise.all([l.e(233),l.e(7667),l.e(1372)]).then(l.bind(l,71372)),{loadableGenerated:{webpack:()=>[71372]},ssr:!1}),$=(0,R.default)(()=>l.e(7511).then(l.bind(l,7511)),{loadableGenerated:{webpack:()=>[7511]},ssr:!1}),ee=(0,R.default)(()=>l.e(4150).then(l.bind(l,74150)),{loadableGenerated:{webpack:()=>[74150]},ssr:!1}),et=(0,R.default)(()=>l.e(6573).then(l.bind(l,76573)),{loadableGenerated:{webpack:()=>[76573]},ssr:!1}),el=(0,R.default)(()=>l.e(843).then(l.bind(l,90843)),{loadableGenerated:{webpack:()=>[90843]},ssr:!1}),en=(0,R.default)(()=>Promise.all([l.e(233),l.e(8675)]).then(l.bind(l,38675)),{loadableGenerated:{webpack:()=>[38675]},ssr:!1}),es=["Common","Uncommon","Rare","Epic","Legendary","Mythic","Leviathan"],ei=[0,10,100,1e3,1e4],ea={1:"⛺",2:"\uD83D\uDED6",3:"\uD83C\uDFE1",4:"\uD83C\uDFE0",5:"\uD83C\uDFF0"};function er(e){let{left:t,cap:l}=e;if(null==t)return null;let s=Math.max(0,Math.min(l,t));return(0,n.jsxs)("div",{"data-testid":"reef-purse-pips","data-left":s,title:"".concat(s," rewarded win").concat(1===s?"":"s"," left today — the purse refills tomorrow"),style:{display:"flex",gap:3,justifyContent:"center",alignItems:"center",marginBottom:6},children:[Array.from({length:l}).map((e,t)=>
1(0,n.jsx)("span",{style:{width:9,height:11,clipPath:"polygon(50% 0,100% 38%,80% 100%,20% 100%,0 38%)",background:t<s?"radial-gradient(circle at 40% 30%, #ffe2a0, #e0b23c)":"#20303e",boxShadow:t<s?"0 0 4px #e0b23c88":"inset 0 0 3px #000"}},t)),(0,n.jsx)("span",{style:{font:"600 10.5px ".concat(E.gx.body),color:E.c.textMuted,marginLeft:5},children:0===s?"purse empty — full again tomorrow":"".concat(s," rewarded win").concat(1===s?"":"s"," left today")})]})}function eo(e){switch(e){case"Common":return"text-stone-200";case"Uncommon":return"text-green-400";case"Rare":return"text-blue-400";case"Epic":return"text-purple-400";case"Legendary":return"text-amber-400";case"Mythic":return"text-rose-300";case"Leviathan":return"text-yellow-300";default:return"text-stone-400"}}let ec={Basic:{icon:"\uD83E\uDE9D",color:"#9aa3ad"},"Double Trouble":{icon:"\uD83C\uDF8F",color:"#e8a13c"},Uncommon:{icon:"\uD83D\uDFE2",color:"#5fd35f"},Rare:{icon:"\uD83D\uDD35",color:"#4aa3ff"},Epic:{icon:"\uD83D\uDFE3",color:"#b26bff"},Legendary:{icon:"\uD83D\uDFE1",color:"#ffc23b"}},ed=e=>{var t;return null!=(t=ec[e])?t:{icon:"\uD83E\uDE9D",color:"#9aa3ad"}},eu={Basic:"lure_hook",Uncommon:"lure_spinner",Rare:"lure_jig",Epic:"lure_fly",Legendary:"lure_crankbait","Double Trouble":"lure_tresurelure"},eh=e=>{let{name:t,size:l=18}=e;return N.Kv&&eu[t]?(0,n.jsx)("img",{src:"/feesh/sprites/gear/".concat(eu[t],".png"),width:l,height:l,alt:t,style:{imageRendering:"pixelated",display:"inline-block",verticalAlign:"middle"}}):(0,n.jsx)("span",{children:ed(t).icon})},ef=e=>{let{className:t,children:l}=e;return(0,n.jsx)("svg",{className:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.9",strokeLinecap:"round",strokeLinejoin:"round",children:l})},ep=e=>{let{className:t}=e;return(0,n.jsxs)(ef,{className:t,children:[(0,n.jsx)("rect",{x:"3",y:"9",width:"18",height:"11",rx:"1.5"}),(0,n.jsx)("path",{d:"M3 13h18"}),(0,n.jsx)("path",{d:"M9 9V7a3 3 0 0 1 6 0v2"}),(0,n.jsx)("path",{d:"M11.2 13v1.8h1.6V13"})]})},ex=e=>{let{className:t}=e;return(0,n.jsxs)(ef,{className:t,children:[(0,n.jsx)("path",{d:"M4 12.5l8-8 8 8-8 8z"}),(0,n.jsx)("circle",{cx:"8.6",cy:"9.4",r:"1.2",fill:"currentColor",stroke:"none"})]})},em=e=>{let{className:t}=e;return(0,n.jsxs)(ef,{className:t,children:[(0,n.jsx)("path",{d:"M3 12c3-4.5 10-4.5 14 0-4 4.5-11 4.5-14 0z"}),(0,n.jsx)("path",{d:"M17 12l4-3v6z"}),(0,n.jsx)("circle",{cx:"7",cy:"11",r:"0.9",fill:"currentColor",stroke:"none"})]})},eg=e=>{let{className:t}=e;return(0,n.jsxs)(ef,{className:t,children:[(0,n.jsx)("circle",{cx:"5",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"}),(0,n.jsx)("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"}),(0,n.jsx)("circle",{cx:"19",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"})]})},ey=e=>{let{className:t}=e;return(0,n.jsxs)(ef,{className:t,children:[(0,n.jsx)("ellipse",{cx:"12",cy:"15.5",rx:"4",ry:"3.1",fill:"currentColor",stroke:"none"}),(0,n.jsx)("circle",{cx:"6.6",cy:"10.5",r:"1.5",fill:"currentColor",stroke:"none"}),(0,n.jsx)("circle",{cx:"10",cy:"8",r:"1.5",fill:"currentColor",stroke:"none"}),(0,n.jsx)("circle",{cx:"14",cy:"8",r:"1.5",fill:"currentColor",stroke:"none"}),(0,n.jsx)("circle",{cx:"17.4",cy:"10.5",r:"1.5",fill:"currentColor",stroke:"none"})]})},eb=e=>{let{className:t}=e;return(0,n.jsxs)(ef,{className:t,children:[(0,n.jsx)("rect",{x:"8",y:"3",width:"8",height:"11",rx:"1"}),(0,n.jsx)("line",{x1:"4",y1:"17",x2:"20",y2:"17"}),(0,n.jsx)("line",{x1:"6",y1:"14",x2:"18",y2:"14"})]})},ev=e=>{let{className:t}=e;return(0,n.jsxs)(ef,{className:t,children:[(0,n.jsx)("path",{d:"M4 5a2 2 0 0 1 2-2h5v16H6a2 2 0 0 0-2 2z"}),(0,n.jsx)("path",{d:"M20 5a2 2 0 0 0-2-2h-5v16h5a2 2 0 0 1 2 2z"})]})},ej=e=>{let{className:t}=e;return(0,n.jsxs)(ef,{className:t,children:[(0,n.jsx)("path",{d:"M5 20L16 6"}),(0,n.jsx)("path",{d:"M19 20L8 6"}),(0,n.jsx)("circle",{cx:"16",cy:"6",r:"1.3",fill:"currentColor",stroke:"none"}),(0,n.jsx)("circle",{cx:"8",cy:"6",r:"1.3",fill:"currentColor",stroke:"none"})]})};function ek(){let[e,t]=(0,h.useState)({x:0,y:0}),l=(0,h.useRef)(null),s=(e,l)=>{let n=Math.hypot(e,l),s=n>44?44/n:1;t({x:e*s,y:l*s}),H.Z.x=e*s/44,H.Z.y=l*s/44},i=()=>{l.current=null,t({x:0,y:0}),H.Z.x=0,H.Z.y=0};return(0,h.useEffect)(()=>i,[]),(0,n.jsx)("div",{"aria-label":"move",className:"absolute left-4 z-20",style:{bottom:76,width:112,height:112,borderRadius:"50%",background:"rgba(14,20,26,0.35)",border:"2px s
1olid rgba(255,255,255,0.35)",touchAction:"none"},onPointerDown:e=>{e.preventDefault(),e.currentTarget.setPointerCapture(e.pointerId);let t=e.currentTarget.getBoundingClientRect();l.current={cx:t.left+t.width/2,cy:t.top+t.height/2},s(e.clientX-l.current.cx,e.clientY-l.current.cy)},onPointerMove:e=>{l.current&&s(e.clientX-l.current.cx,e.clientY-l.current.cy)},onPointerUp:i,onPointerCancel:i,children:(0,n.jsx)("div",{style:{position:"absolute",left:34+e.x,top:34+e.y,width:44,height:44,borderRadius:"50%",background:"rgba(255,255,255,0.55)",border:"2px solid rgba(10,16,22,0.5)"}})})}function ew(){var e,t,l,d,S,D,C,N,I,R,H,ec,eu,ef,ew,eS,eE,eD,eC,eT,eN,eA,eI;let eM,{community:e_}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{user:{info:eR,points:eF},game:{fish:{shop:eL,caughtHistory:eO}},messages:{gameFishMessages:ez,publicMessages:eH}}=(0,s.Y)(),eZ=(0,h.useMemo)(()=>eH.slice(-14).map(e=>{var t,l,n,s,i;return{name:null!=(s=null!=(n=null==(t=e.user)?void 0:t.username)?n:null==(l=e.user)?void 0:l.name)?s:"",text:String(null!=(i=e.message)?i:""),at:new Date(e.timestamp).getTime()}}),[eH]),eB=(null==eR?void 0:eR.name)||"Angler",[eP,eY]=(0,h.useState)(!1);(0,h.useEffect)(()=>{try{eY(window.matchMedia("(pointer: coarse)").matches)}catch(e){}},[]);let[eW,eq]=(0,h.useState)(!1);(0,h.useEffect)(()=>{var e;let t=()=>{var e,t,l,n;return eq(760>Math.min(window.innerWidth,null!=(l=null==(e=window.visualViewport)?void 0:e.width)?l:1e9,null!=(n=null==(t=window.screen)?void 0:t.width)?n:1e9))};return t(),window.addEventListener("resize",t),null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;window.removeEventListener("resize",t),null==(e=window.visualViewport)||e.removeEventListener("resize",t)}},[]);let[eG,eU]=(0,h.useState)(!1),[eQ,eV]=(0,h.useState)(!1),[eK,eJ]=(0,h.useState)(!1),[eX,e$]=(0,h.useState)(!1),[e0,e1]=(0,h.useState)(!1),[e2,e4]=(0,h.useState)(!1),[e3,e5]=(0,h.useState)(!1),[e8,e6]=(0,h.useState)(()=>{try{var e;return Number(null!=(e=localStorage.getItem("feeshFighter"))?e:0)%O.Y.length}catch(e){return 0}}),[e7,e9]=(0,h.useState)(0),[,te]=(0,h.useState)(!1),[tt,tl]=(0,h.useState)(0),[tn,ts]=(0,h.useState)(null),[ti,ta]=(0,h.useState)(null),[tr,to]=(0,h.useState)([]),[tc,td]=(0,h.useState)("land"),[tu,th]=(0,h.useState)([]),[tf,tp]=(0,h.useState)([]),[tx,tm]=(0,h.useState)(0),tg=(0,h.useRef)(null),[ty,tb]=(0,h.useState)(!1),[tv,tj]=(0,h.useState)(!1),[tk,tw]=(0,h.useState)(!1),tS=(0,h.useRef)(0),[tE,tD]=(0,h.useState)(!1),[tC,tT]=(0,h.useState)(0),tN=(0,h.useRef)(null),tA=(0,h.useRef)(0);tA.current=tC;let[tI,tM]=(0,h.useState)(!1),[t_,tR]=(0,h.useState)(!1),[tF,tL]=(0,h.useState)(null),[tO,tz]=(0,h.useState)({}),[tH,tZ]=(0,h.useState)(!1),[tB,tP]=(0,h.useState)(null),[tY,tW]=(0,h.useState)(null),[tq,tG]=(0,h.useState)(50),[tU,tQ]=(0,h.useState)(null),tV=(0,g.T)(!!eR&&"guest"!==eR.role,(null==eR?void 0:eR.name)||"Angler"),[tK,tJ]=(0,h.useState)(null),[tX,t$]=(0,h.useState)(null);(0,h.useEffect)(()=>{"journal"===tF&&tV.requestJournal()},[tF]),(0,h.useEffect)(()=>{let e=tV.milestoneNews;if(!e)return;nc("⭐ ".concat(e.label,"! +").concat(e.gems.toLocaleString()," \uD83D\uDC8E").concat(e.hat?" and a new hat":""));let t=setTimeout(()=>nc(null),4200);return()=>clearTimeout(t)},[tV.milestoneNews]);let[t0,t1]=(0,h.useState)([]),t2=(0,h.useRef)([]),[t4,t3]=(0,h.useState)([]),[t5,t8]=(0,h.useState)(void 0),[t6,t7]=(0,h.useState)(0),t9=(0,h.useRef)(0),[le,lt]=(0,h.useState)(0),[ll,ln]=(0,h.useState)([]),[ls,li]=(0,h.useState)(null),la=(0,h.useRef)(0),lr=(0,F.B)(i.sZ,"poker"===tF,{style:t6,hat:le}),lo=(0,h.useRef)(0),lc=(0,h.useRef)(e_),[ld,lu]=(0,h.useState)({}),[lh,lf]=(0,h.useState)({seq:0,value:0,rarity:"Common"}),[lp,lx]=(0,h.useState)({}),[lm,lg]=(0,h.useState)({});(0,h.useEffect)(()=>{let e=setInterval(()=>lg(e=>{let t=Date.now(),l=!1,n={};for(let s in e)e[s].until>t?n[s]=e[s]:l=!0;return l?n:e}),2e3);return()=>clearInterval(e)},[]);let ly=(0,h.useRef)({}),lb=(0,h.useRef)(new Set),lv=(0,h.useRef)(null),[lj,lk]=(0,h.useState)(null),[lw,lS]=(0,h.useState)(null),[lE,lD]=(0,h.useState)(null),[lC,lT]=(0,h.useState)(null),[lN,lA]=(0,h.useState)(null),[lI,lM]=(0,h.useState)(null),l_=(0,h.useRef)(0),lR=(0,h.useRef)(!1);lR.current="reef"===tF&&!!lI;let[lF,lL]=(0,h.useState)(!1),[lO,lz]=(0,h.useState)(!1),[lH,lZ]=(0,h.useState)(null),[lB,lP]=(0,h.useState)("normal"),[lY,lW]=(0,h.useState)(null),[lq,lG]=(0,h.useState)(0),[lU,lQ]=(0,h.useState)(!1);(0,h.useEffect)(()=>{let e=e=>{(null==e?void 0:e.left)&&lW(e.left),"number"==typeof(null==e?void 0:e.practice)&&lG(Math.max(0,Math.floor(e.practice)))};return null===i.sZ||void 0===i.sZ||i.sZ.on("reef:spar:status",e),()=>{null===i.sZ||void 0===i.sZ||i.sZ.off("reef:spar:status",e)}},[]),(0,h.useEffect)(()=>{(lF||e3)&&(null===i.sZ||void 0===i.sZ||i.sZ.emit("reef:spar:status"))},[lF,e3]),(0,h.useEffect)(()=>
1{if(lF||lO)try{localStorage.getItem("feeshCardsIntroSeen")||lQ(!0)}catch(e){}},[lF,lO]);let[lV,lK]=(0,h.useState)(!1),[lJ,lX]=(0,h.useState)(null),[l$,l0]=(0,h.useState)(null),l1=(0,h.useRef)(void 0),[l2,l4]=(0,h.useState)([]),[l3,l5]=(0,h.useState)(!1),[l8,l6]=(0,h.useState)(null),[l7,l9]=(0,h.useState)([]),[ne,nt]=(0,h.useState)(!1),nl=null!=(C=l7[0])?C:null,[nn,ns]=(0,h.useState)({count:0,earned:0,best:null}),ni=(0,h.useRef)(Date.now()),[na,nr]=(0,h.useState)(null),[no,nc]=(0,h.useState)(null),nd=(0,h.useRef)(0),[nu,nh]=(0,h.useState)(0),nf=(0,h.useRef)(0),[np,nx]=(0,h.useState)(null),[nm,ng]=(0,h.useState)(0),[ny,nb]=(0,h.useState)(0),[nv,nj]=(0,h.useState)(0),nk=(0,h.useRef)(null),nw=(0,h.useRef)(0),nS=(0,h.useRef)(!1),nE=(0,h.useRef)(null),nD=(0,h.useRef)(!1),[nC,nT]=(0,h.useState)(!0);(0,h.useEffect)(()=>{try{nT("0"!==localStorage.getItem("feesh:sfx"))}catch(e){}},[]),(0,h.useEffect)(()=>{nD.current=!nC;try{localStorage.setItem("feesh:sfx",nC?"1":"0")}catch(e){}},[nC]);let nN=(0,h.useCallback)((e,t,l,n,s)=>{let i=e.createBuffer(1,Math.ceil(e.sampleRate*l),e.sampleRate),a=i.getChannelData(0);for(let e=0;e<a.length;e++)a[e]=(2*Math.random()-1)*(1-e/a.length);let r=e.createBufferSource();r.buffer=i;let o=e.createBiquadFilter();o.type="bandpass",o.frequency.value=n,o.Q.value=.6;let c=e.createGain();c.gain.setValueAtTime(s,t),c.gain.exponentialRampToValueAtTime(1e-4,t+l),r.connect(o),o.connect(c),c.connect(e.destination),r.start(t),r.stop(t+l)},[]),nA=(0,h.useCallback)(()=>{let e=nE.current;if(!e){let t=window.AudioContext||window.webkitAudioContext;t&&(nE.current=e=new t)}return e&&"suspended"===e.state&&e.resume().catch(()=>{}),e&&"suspended"!==e.state?e:null},[]),nI=(0,h.useCallback)(()=>{if(nD.current)return;let e=nA();e&&nN(e,e.currentTime,.085,2e3,.32)},[nA,nN]),nM=(0,h.useCallback)(()=>{if(nD.current)return;let e=nA();if(!e)return;let t=e.currentTime;for(let l=0;l<18;l++)nN(e,t+.03*l+.012*Math.random(),.03,1500+1600*Math.random(),.2)},[nA,nN]),n_=(0,h.useCallback)(()=>{if(nD.current)return;let e=nA();if(!e)return;let t=e.currentTime,l=(t,l,n,s)=>{let i=e.createOscillator(),a=e.createGain();i.type="sine",i.frequency.value=t,a.gain.setValueAtTime(1e-4,l),a.gain.exponentialRampToValueAtTime(s,l+.025),a.gain.exponentialRampToValueAtTime(1e-4,l+n),i.connect(a),a.connect(e.destination),i.start(l),i.stop(l+n)};l(784,t,.2,.12),l(1175,t+.11,.28,.1)},[nA]),nR=(0,h.useCallback)(e=>{if(nD.current)return;let t=nA();t&&(0,L.Ar)(t,e)},[nA]),{ctl:nF,phase:nL,cooldown:nO,cooldownTotal:nz,ready:nH,status:nZ,rodBroken:nB,catchCard:nP,catchPB:nY}=(0,z.S)(i.sZ,"world",{gateOpen:null===tF,onLineReady:()=>{if(!nD.current)try{let e=nE.current;if(!e){let t=window.AudioContext||window.webkitAudioContext;t&&(nE.current=e=new t)}if(e&&"suspended"!==e.state){let t=e.currentTime;[660,880].forEach((l,n)=>{let s=e.createOscillator(),i=e.createGain();s.type="triangle",s.frequency.value=l;let a=t+.08*n;i.gain.setValueAtTime(1e-4,a),i.gain.exponentialRampToValueAtTime(.05,a+.01),i.gain.exponentialRampToValueAtTime(1e-4,a+.14),s.connect(i),i.connect(e.destination),s.start(a),s.stop(a+.16)})}}catch(e){}},onMsg:e=>lX(e),onCatch:(e,t)=>nG.current(e,t)}),nW=Math.floor(parseFloat(eF||"0")),nq=(0,f.UC)(null==nZ?void 0:nZ.rod.name),nG=(0,h.useRef)(()=>{});nG.current=(e,t)=>{let l=e=>e.reduce((e,t)=>!e||t.value>e.value?{name:t.name,value:t.value,rarity:t.rarity}:e,null),n=l(t.items);ns(t=>{let n=t.count,s=t.earned,i=t.best;for(let t of e){n+=1,s+=t.value;let e=l(t.items);e&&(!i||e.value>i.value)&&(i=e)}return{count:n,earned:s,best:i}});{let l=Date.now(),n=e.filter(e=>!Y(e)).length,s=Y(t);nh(e=>{let t=l-nf.current<12e4?e:0,i=s?0:t+n;return i>=3&&Math.floor(i/5)>Math.floor(t/5)&&(nc("".concat(i," catches in a row! nice")),setTimeout(()=>nc(null),2400)),i}),nf.current=l}{let e=t.items.reduce((e,t)=>!e||P(e)&&!P(t)||!P(t)&&t.value>e.value?t:e,null),l=e&&!P(e)?(0,m.Re)({art:e.art,fishId:e.id,spriteKey:e.key,name:e.name}):"";lf(s=>{var i;return{seq:s.seq+1,value:Y(t)?-1:t.value,rarity:Y(t)?"junk":null!=(i=null==n?void 0:n.rarity)?i:"Common",art:l,label:null==e?void 0:e.name}})}let s=n;for(let t of e){let e=l(t.items);e&&(!s||e.value>s.value)&&(s=e)}s&&["Epic","Legendary","Mythic","Leviathan"].includes(s.rarity)&&(nr(s),setTimeout(()=>nr(e=>e===s?null:e),3200))},(0,h.useEffect)(()=>
1{if(tV.levelUp){let e=tV.levelUp;l9(t=>[...t,{kind:"level",level:e}].slice(-4)),tV.clearLevelUp()}},[tV.levelUp]),(0,h.useEffect)(()=>{if(tV.recordNews){let e=tV.recordNews;l9(t=>[...t,{kind:"record",record:e}].slice(-4)),tV.setRecordNews(null)}},[tV.recordNews]);let nU=!!l8&&"live"!==nL&&!(eW&&nP)&&null===tF;(0,h.useEffect)(()=>{if(!nU)return;let e=setTimeout(()=>l6(null),9e3);return()=>clearTimeout(e)},[nU,l8]),(0,h.useEffect)(()=>{if(!nl||nP||nU||"live"===nL)return;let e=setTimeout(()=>l9(e=>e.slice(1)),"level"===nl.kind?4200:3800);return()=>clearTimeout(e)},[nl,nP,nU,nL]),(0,h.useEffect)(()=>{let e=nw.current;if(!nS.current){nS.current=!0,nw.current=nW,nb(nW);return}if(e===nW)return;nW>e+.001&&nj(e=>e+1),nw.current=nW;let t=performance.now(),l=Math.min(750,260+1.5*Math.abs(nW-e));nk.current&&cancelAnimationFrame(nk.current);let n=s=>{let i=Math.min(1,(s-t)/l);nb(e+(nW-e)*(1-Math.pow(1-i,3))),i<1&&(nk.current=requestAnimationFrame(n))};return nk.current=requestAnimationFrame(n),()=>{nk.current&&cancelAnimationFrame(nk.current)}},[nW]),(0,h.useEffect)(()=>{if(0!==lh.seq&&!nD.current)try{var e;let t=nE.current;if(!t){let e=window.AudioContext||window.webkitAudioContext;if(!e)return;nE.current=t=new e}"suspended"===t.state&&t.resume();let l=t.currentTime,n=function(e,n,s,i){let a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"triangle",r=t.createOscillator(),o=t.createGain();r.type=a,r.frequency.value=e,r.connect(o),o.connect(t.destination),o.gain.setValueAtTime(1e-4,l+n),o.gain.exponentialRampToValueAtTime(i,l+n+.012),o.gain.exponentialRampToValueAtTime(1e-4,l+n+s),r.start(l+n),r.stop(l+n+s+.03)};if(lh.value<0){n(165,0,.18,.07,"sawtooth"),n(110,.05,.22,.06,"sawtooth");return}let s=null!=(e=({Common:0,Uncommon:1,Rare:2,Epic:3,Legendary:4,Mythic:5,Leviathan:6})[lh.rarity])?e:0,i=[0,4,7,12,16,19,24],a=2+s;for(let e=0;e<a;e++){let t=i[Math.min(e,i.length-1)];n(392*Math.pow(2,t/12),.058*e,.16,.09,e>=4?"sine":"triangle")}s>=4&&(n(1568,.058*a+.04,.5,.06,"sine"),n(2093,.058*a+.1,.45,.045,"sine"))}catch(e){}},[lh.seq,lh.rarity,lh.value]),(0,h.useEffect)(()=>{let e=nn.count;if(e>0&&e%10==0&&nd.current!==e){nd.current=e,nc("".concat(e," catches this session!"));let t=setTimeout(()=>nc(null),2600);return()=>clearTimeout(t)}},[nn.count]),(0,h.useEffect)(()=>{let e=Number(localStorage.getItem("feesh:style"));Number.isFinite(e)&&e>=0&&t7(e)},[]),(0,h.useEffect)(()=>{t9.current=t6,localStorage.setItem("feesh:style",String(t6)),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:style",{style:t6})},[t6]),(0,h.useEffect)(()=>{lo.current=nq,null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:rod",{rod:nq})},[nq]),(0,h.useEffect)(()=>{lc.current=e_},[e_]),(0,h.useEffect)(()=>{la.current=le,null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:hat",{hat:le})},[le]);let nQ="live"===nL||"resolving"===nL;(0,h.useEffect)(()=>{tF&&(nF.releaseInputs(),nQ&&"reef"!==tF&&"fight"!==tF&&(tL(null),lX("finish the fight first")))},[tF]),(0,h.useEffect)(()=>{let e=eW&&("idle"!==nL||eG);return document.documentElement.classList.toggle("feesh-fishing-narrow",e),document.documentElement.classList.toggle("feesh-fishing-live",eW&&"idle"!==nL),()=>document.documentElement.classList.remove("feesh-fishing-narrow","feesh-fishing-live")},[eW,nL,eG]);let nV="idle"!==nL;(0,h.useEffect)(()=>{null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:fishing",{fishing:nV})},[nV]),(0,h.useEffect)(()=>{null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:boating",{boating:tC>Date.now()})},[tC]),(0,h.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(tL(e=>"fight"===e?e:null),tD(!1),tw(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,h.useEffect)(()=>{var e,t;let l=new URLSearchParams(window.location.search);if("1"!==l.get("fightdemo"))return;let n="training"===l.get("mode")||"tutorial"===l.get("mode")?l.get("mode"):"ai";lA({self:0,stake:0,mode:n,me:{name:"You",style:0,hat:0},opp:{name:"ai"===n?"CPU":"Dummy",style:14,hat:0},sparId:"qa-demo",seed:Number(null!=(e=l.get("seed"))?e:12345),diff:null!=(t=l.get("diff"))?t:"normal",fighter:null!=l.get("fighter")?Number(l.get("fighter")):void 0}),tL("fight")},[]),(0,h.useEffect)(()=>{let e=new URLSearchParams(window.location.search),t=e.get("panel");e.get("fish")&&tJ(e.get("fish")),"spar"===t?e5(!0):t&&tL("almanac"===t?"journal":t)},[]);let nK=(0,h.useRef)(!1);(0,h.useEffect)(()=>
1{if(!nZ||nZ.rod.price<=0){nK.current=!1;return}let e=nZ.rodDurability;e>0&&e<=5?nK.current||(nK.current=!0,lX("rod's wearing thin — ~".concat(e," cast").concat(1===e?"":"s"," left"))):nK.current=!1},[nZ]);let nJ=(0,h.useRef)(null==eR?void 0:eR.id);(0,h.useEffect)(()=>{nJ.current=null==eR?void 0:eR.id},[null==eR?void 0:eR.id]),(0,h.useEffect)(()=>{let e=i.sZ;if(!e)return;let t=t=>t1(t.filter(t=>t.id!==e.id&&!(nJ.current&&t.userId===nJ.current)&&!lb.current.has(t.name.toLowerCase()))),l=e=>{var t;lb.current=new Set((null!=(t=null==e?void 0:e.usernames)?t:[]).map(e=>e.toLowerCase())),t1(e=>e.filter(e=>!lb.current.has(e.name.toLowerCase())))},n=t=>{let l="junk"===t.rarity?"":(0,m.Re)({art:t.art,fishId:t.fishId,name:t.label});if(lu(e=>({...e,[t.id]:{label:"junk"!==t.rarity&&t.species?W(t.species):t.label,rarity:t.rarity,until:Date.now()+4e3,art:l}})),!nD.current&&"junk"!==t.rarity)try{let e=nE.current;if(!e){let t=window.AudioContext||window.webkitAudioContext;t&&(nE.current=e=new t)}if(e&&"suspended"!==e.state){let t=e.currentTime;[0,4].forEach((l,n)=>{let s=e.createOscillator(),i=e.createGain();s.type="sine",s.frequency.value=294*Math.pow(2,l/12);let a=t+.07*n;i.gain.setValueAtTime(1e-4,a),i.gain.exponentialRampToValueAtTime(.028,a+.01),i.gain.exponentialRampToValueAtTime(1e-4,a+.18),s.connect(i),i.connect(e.destination),s.start(a),s.stop(a+.2)})}}catch(e){}if(t.id!==e.id&&["Epic","Legendary","Mythic","Leviathan"].includes(t.rarity)){var n;let s=t.name||(t.id===e.id?eB:null==(n=t2.current.find(e=>e.id===t.id))?void 0:n.name)||"Someone",i={id:Date.now()+Math.random(),name:s,label:t.species?W(t.species):t.label,nick:t.species?t.label:"",rarity:t.rarity,art:l};t3(e=>[i,...e].slice(0,4)),setTimeout(()=>t3(e=>e.filter(e=>e.id!==i.id)),6e3)}},s=t=>{if(t.id===e.id)return;let l=t.emote?f.FE[t.emote]:void 0,n=Date.now(),s=l?{emoji:l.emoji,anim:l.anim,start:n,until:n+l.dur}:{emoji:t.emoji,until:n+2500};lx(e=>({...e,[t.id]:s}))},a=e=>{if(e.error)return void tP(e.error);e.ok&&e.until&&tT(e.until)},r=e=>{let t=f.FE[e.key];if(!t)return;let l=Date.now();lx(n=>({...n,[e.from]:{anim:t.anim,start:l,until:l+t.dur,partner:e.to,pairEmoji:t.paired},[e.to]:{anim:t.anim,start:l,until:l+t.dur,partner:e.from,pairEmoji:t.paired}}))},o=e=>lD(e),c=e=>{lD(null),lT(e.won?"you won ".concat(e.stake," \uD83D\uDC8E off ").concat(e.opponent,"!"):"you lost ".concat(e.stake," \uD83D\uDC8E to ").concat(e.opponent,"..."))},d=e=>{lD(null),lT((null==e?void 0:e.reason)||"Duel cancelled.")},u=e=>{lD(null),e5(!1),lA(e),tL("fight")},h=e=>{l_.current+=1,lL(!1),lz(!1),lZ(null),lM(e),tL("reef")},p=e=>{!lR.current&&(null==e?void 0:e.view)&&h(e)},x=e=>{lZ(null),lT((null==e?void 0:e.reason)||"Could not start the card battle.")},g=e=>lZ(e),y=e=>{(null==e?void 0:e.cardId)?l6(e):(null==e?void 0:e.name)&&lX("\uD83C\uDCCF you found a ".concat(e.foil?"✦ foil ":"").concat(e.name," card!"))},b=e=>lT((null==e?void 0:e.reason)||"Could not start the fight."),v=e=>{if(e.error)return void tQ(e.error);if(tW(e),e.outcome){var t;tQ("".concat(null!=(t=({win:"\uD83C\uDF89 You win!",lose:"\uD83D\uDE1E Dealer wins",push:"➖ Push",bust:"\uD83D\uDCA5 Bust!",blackjack:"\uD83C\uDCCF BLACKJACK! (3:2)"})[e.outcome])?t:"").concat(null!=e.net?"  net ".concat(e.net>=0?"+":"").concat(e.net," \uD83D\uDC8E"):""))}else tQ(null)},j=e=>{if(e.error)return void tP(e.error);if(("buzzed"===e.buff||"baked"===e.buff)&&e.until){var t;tz(t=>({...t,[e.buff]:e.until})),tP("".concat(null!=(t=e.label)?t:"Buff"," active!"))}},k=e=>{var t;if(tZ(!0),setTimeout(()=>tZ(!1),1600),e.error)return void tP(e.error);"lucky"===e.buff&&e.until&&tz(t=>({...t,lucky:e.until})),tP(null!=(t=e.ok)?t:null)},w=e=>{(null==e?void 0:e.pct)&&lX("campfire circle — +".concat(e.pct,"% rest with ").concat(e.count," around"))},S=e=>{var t,l;"number"==typeof(null==e?void 0:e.total)&&"number"==typeof(null==e?void 0:e.goal)&&nx({total:e.total,goal:e.goal,label:null!=(t=e.label)?t:"Lake goal"}),(null==e?void 0:e.hit)&&(nc("lake goal complete — ".concat(null!=(l=e.label)?l:"nice work","! \uD83C\uDF89")),setTimeout(()=>nc(null),3200))},E=e=>{(null==e?void 0:e.gems)&&lX("your share of the lake goal: +".concat(e.gems," \uD83D\uDC8E"))},D=e=>{if((null==e?void 0:e.type)==="golden"){var t;ng(e.active&&null!=(t=e.endsAt)?t:0),e.active&&(nc("golden hour! catches fill the lake goal 2x"),setTimeout(()=>nc(null),3600))}},C=e=>{(null==e?void 0:e.gems)?lX("cooked & sold the catch! +".concat(e.gems," \uD83D\uDC8E")):(null==e?void 0:e.wait)&&lX("the pot's still warming — try again in ".concat(e.wait,"s"))},T=e=>{var t;(null==e?void 0:e.error)?lX(e.error):(null==e?void 0:e.gems)&&lX("gifted ".concat(e.gems," \uD83D\uDC8E to ").concat(null!=(t=e.to)?t:"an angler"," — what a legend"))},N=e=>{var t;(null==e?void 0:e.gems)&&lX("".concat(null!=(t=e.from)?t:"an angler"," gifted you ").concat(e.gems," \uD83D\uDC8E!"))},A=e=>{"number"==typeof(null==e?void 0:e.equipped)&&lt(e.equipped),Array.isArray(null==e?void 0:e.owned)&&ln(e.owned)},I=e=>{var t,l;return li(null!=(l=null!=(t=null==e?void 0:e.error)?t:null==e?void 0:e.ok)?l:null)},M=e=>{var t;return to(null!=(t=e.list)?t:[])},_=e=>{var t;return th(null!=(t=e.rows)?t:[])},R=e=>{"number"==typeof e.tier&&tl(e.tier),"number"==typeof e.rent&&ta(t=>{var l,n;return{...t,rent:e.rent,lastDividend:null!=(n=null!=(l=e.lastDividend)?l:null==t?void 0:t.lastDividend)?n:0}})},F=e=>{var t,l;return ts(null!=(l=null!=(t=e.error)?t:e.ok)?l:null)},L=e=>{if(null==e?void 0:e.rent){var t;ta(t=>{var l;return{rent:e.rent,lastDividend:null!=(l=null==t?void 0:t.lastDividend)?l:0,lastRent:e.rent}}),lX("\uD83C\uDFE0 ".concat(null!=(t=e.house)?t:"House"," upkeep −").concat(e.rent," \uD83D\uDC8E"))}},O=e=>{(null==e?void 0:e.gems)&&(ta(t=>{var l;return{rent:null!=(l=null==t?void 0:t.rent)?l:0,lastDividend:e.gems,lastRent:null==t?void 0:t.lastRent}}),lX("\uD83C\uDFE0 dividends from the lake +".concat(e.gems," \uD83D\uDC8E")))},z=e=>{var t;if(!(null==e||null==(t=e.user)?void 0:t.username)||!e.message||e.fromType&&"User"!==e.fromType||"whisper"===e.type||"private"===e.tab||lb.current.has(e.user.username.toLowerCase()))return;let l=ly.current[e.user.username.toLowerCase()];if(!l)return;let n=e.message.slice(0,160),s=Date.now();lg(e=>({...e,[l]:{text:n,born:s,until:s+Math.min(9e3,3500+45*n.length)}}))},H=()=>{var t;t8(e.id),e.emit("feesh:hello",{name:eB,style:t9.current,rod:lo.current,room:null==(t=lc.current)?void 0:t.slug,hat:la.current,boating:tA.current>Date.now()}),e.emit("feesh:cosmetics:status"),e.emit("feesh:property:status")},Z=e=>{Number.isFinite(null==e?void 0:e.x)&&Number.isFinite(null==e?void 0:e.y)&&Number.isFinite(null==e?void 0:e.seq)&&(tN.current={x:e.x,y:e.y,seq:e.seq})};e.on("feesh:pos",Z),e.on("feesh:players",t),e.on("feesh:caught",n);let B=t=>{if(!(null==t?void 0:t.id)||t.id===e.id||!t.rarity)return;let l={id:Date.now()+Math.random(),name:t.name||"Someone",label:"something BIG",nick:"",rarity:t.rarity,art:"",hooked:!0};t3(e=>[l,...e].slice(0,4)),setTimeout(()=>t3(e=>e.filter(e=>e.id!==l.id)),6e3)};return e.on("feesh:hooked",B),e.on("feesh:emote",s),e.on("feesh:duel:invite",o),e.on("feesh:duel:result",c),e.on("feesh:duel:cancelled",d),e.on("feesh:fight:start",u),e.on("reef:start",h),e.on("reef:sync",p),e.on("reef:denied",x),e.on("reef:invite",g),e.on("reef:drop",y),e.on("feesh:fight:denied",b),e.on("feesh:bar:effect",j),e.on("feesh:bar:fling:result",k),e.on("feesh:fire:group",w),e.on("feesh:community",S),e.on("feesh:community:reward",E),e.on("feesh:event",D),e.on("feesh:cook:reward",C),e.on("feesh:gift:sent",T),e.on("feesh:gift:recv",N),e.on("feesh:cosmetics:status",A),e.on("feesh:cosmetics:msg",I),e.on("feesh:leaderboard",M),e.on("reef:leaderboard",_),e.on("feesh:property:status",R),e.on("feesh:property:msg",F),e.on("feesh:property:rent",L),e.on("feesh:property:dividend",O),e.on("feesh:casino:bj:state",v),e.on("message:public",z),e.on("feesh:emote:pair",r),e.on("feesh:boat:result",a),e.on("user:blocked-list",l),e.on("connect",H),H(),()=>{e.emit("feesh:bye"),e.off("feesh:pos",Z),e.off("feesh:players",t),e.off("feesh:caught",n),e.off("feesh:hooked",B),e.off("feesh:emote",s),e.off("feesh:duel:invite",o),e.off("feesh:duel:result",c),e.off("feesh:duel:cancelled",d),e.off("feesh:fight:start",u),e.off("reef:start",h),e.off("reef:sync",p),e.off("reef:denied",x),e.off("reef:invite",g),e.off("reef:drop",y),e.off("feesh:fight:denied",b),e.off("feesh:bar:effect",j),e.off("feesh:bar:fling:result",k),e.off("feesh:fire:group",w),e.off("feesh:community",S),e.off("feesh:community:reward",E),e.off("feesh:event",D),e.off("feesh:cook:reward",C),e.off("feesh:gift:sent",T),e.off("feesh:gift:recv",N),e.off("feesh:cosmetics:status",A),e.off("feesh:cosmetics:msg",I),e.off("feesh:leaderboard",M),e.off("reef:leaderboard",_),e.off("feesh:property:status",R),e.off("feesh:property:msg",F),e.off("feesh:property:rent",L),e.off("feesh:property:dividend",O),e.off("feesh:casino:bj:state",v),e.off("message:public",z),e.off("feesh:emote:pair",r),e.off("feesh:boat:result",a),e.off("user:blocked-list",l),e.off("connect",H)}},[eB,nF]),(0,h.useEffect)(()=>{let e={};for(let t of t0)e[t.name.toLowerCase()]=t.id;t5&&(e[eB.toLowerCase()]=t5),ly.current=e,t2.current=t0},[t0,t5,eB]);let nX=(0,h.useCallback)(e=>{null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:move",e)},[]),n$=(0,h.useCallback)(e=>{null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:warp",e)},[]),n0=(0,h.useCallback)(e=>{let t=f.FE[e];if(!t)return;let l=Date.now();
1if(!(l-tS.current<600)){if(tS.current=l,t.paired){let n=lv.current;if(n){null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:emote:pair",{to:n.id,key:e}),t5&&lx(e=>({...e,[t5]:{anim:t.anim,start:l,until:l+t.dur,partner:n.id,pairEmoji:t.paired}}));return}}null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:emote",{emote:e}),t5&&lx(e=>({...e,[t5]:{emoji:t.emoji,anim:t.anim,start:l,until:l+t.dur}}))}},[t5]),n1=(0,h.useCallback)(()=>{if(nW<10)return void tQ("Need at least 10 \uD83D\uDC8E.");let e=Math.max(10,Math.min(Math.floor(nW),tq));tQ(null),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:casino:bj:deal",{bet:e})},[tq,nW]),n2=(0,h.useCallback)(()=>{null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:casino:bj:hit")},[]),n4=(0,h.useCallback)(()=>{null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:casino:bj:stand")},[]),n3=(0,h.useCallback)(e=>{tP(null),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:bar:buy",{item:e})},[]),n5=(0,h.useCallback)(e=>{ts(null),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:property:buy",{tier:e})},[]),n8=(0,h.useCallback)(()=>{ts(null),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:property:sell")},[]),n6=(0,h.useCallback)(e=>{li(null),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:cosmetics:buy",{id:e})},[]),n7=(0,h.useCallback)(e=>{lt(e),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:cosmetics:equip",{id:e})},[]);(0,h.useEffect)(()=>{if(!tC)return;let e=setTimeout(()=>tT(0),Math.max(0,tC-Date.now()));return()=>clearTimeout(e)},[tC]),(0,h.useEffect)(()=>{let e=Object.values(tO).filter(e=>!!e);if(!e.length)return;let t=setTimeout(()=>tz(e=>{var t,l,n;let s={},i=Date.now();return(null!=(t=e.buzzed)?t:0)>i&&(s.buzzed=e.buzzed),(null!=(l=e.baked)?l:0)>i&&(s.baked=e.baked),(null!=(n=e.lucky)?n:0)>i&&(s.lucky=e.lucky),s}),Math.max(50,Math.min(...e)-Date.now()));return()=>clearTimeout(t)},[tO]);let n9=(0,h.useCallback)(e=>{eU(e.water),eV(e.shack),eJ(e.camp),e$(e.cabin),te(e.theater),e1(e.boxing),e4(e.cards)},[]),se=(0,h.useCallback)(e=>{"poker"===e?tL("poker"):"shop"===e?tL("shop"):"snake"===e||"tetris"===e||"drive"===e?tL(e):"property"===e?(ts(null),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:property:status"),tL("property")):"leaderboard"===e?(to([]),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:leaderboard"),null===i.sZ||void 0===i.sZ||i.sZ.emit("reef:leaderboard"),tL("leaderboard")):"boxing"===e?e5(!0):"cards"===e&&lz(!0)},[]),st=(0,h.useCallback)(e=>{if("cards"===e){tL(null),lz(!0);return}tL("poker"===e?"poker":"blackjack"===e?"blackjack":e)},[]),sl=(0,h.useCallback)((e,t)=>null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("feesh:watch",{watching:e,seat:t}),[]),sn=(0,h.useCallback)(e=>{tR(e),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:sit",{sitting:e})},[]),ss=(0,h.useCallback)(e=>{var t;(null==e?void 0:e.id)!==(null==(t=lv.current)?void 0:t.id)&&lS(null),lk(e),lv.current=e},[]),si=(0,h.useCallback)(e=>tM(e),[]),sa=(0,h.useCallback)(()=>null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("feesh:boat:rent"),[]),sr=(0,h.useCallback)(e=>{lj&&(null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:duel:challenge",{targetId:lj.id,stake:e,fighter:e8}),lT("Challenge sent to ".concat(lj.name," for ").concat(e," \uD83D\uDC8E…")),lS(null))},[lj,e8]),so=(0,h.useCallback)(()=>{lE&&(null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:duel:accept",{fromId:lE.fromId,fighter:e8})),lD(null)},[lE,e8]),sc=(0,h.useCallback)(()=>{lE&&(null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:duel:decline",{fromId:lE.fromId})),lD(null)},[lE]),sd=(0,h.useCallback)(e=>{lj&&(null===i.sZ||void 0===i.sZ||i.sZ.emit("reef:challenge",{targetId:lj.id,stake:e}),lT("Card battle sent to ".concat(lj.name," for ").concat(e," \uD83D\uDC8E…")),lS(null))},[lj]),su=(0,h.useCallback)(()=>{lH&&(null===i.sZ||void 0===i.sZ||i.sZ.emit("reef:accept",{fromId:lH.fromId})),lZ(null)},[lH]),sh=(0,h.useCallback)(()=>{lH&&(null===i.sZ||void 0===i.sZ||i.sZ.emit("reef:decline",{fromId:lH.fromId})),lZ(null)},[lH]),sf=(0,h.useCallback)(()=>{lE&&(null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:duel:block",{fromId:lE.fromId})),lD(null),lT("Blocked their duels for 1 hour.")},[lE]);(0,h.useEffect)(()=>{try{lK("1"===localStorage.getItem("feesh:duelsOff"))}catch(e){}},[]),(0,h.useEffect)(()=>{try{localStorage.setItem("feesh:duelsOff",lV?"1":"0")}catch(e){}},[lV]);let sp="poker"===tF,sx="fight"===tF;(0,h.useEffect)(()=>{null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:duel:disable",{disabled:lV||sp})},[lV,sp]),(0,h.useEffect)(()=>{sp&&lD(null)},[sp]),(0,h.useEffect)(()=>
1{if(!lC)return;let e=setTimeout(()=>lT(null),4e3);return()=>clearTimeout(e)},[lC]),(0,h.useEffect)(()=>{if(!ls)return;let e=setTimeout(()=>li(null),2500);return()=>clearTimeout(e)},[ls]),(0,h.useEffect)(()=>{if(!lJ)return;let e=setTimeout(()=>lX(null),1800);return()=>clearTimeout(e)},[lJ]),(0,h.useEffect)(()=>{if(!tn)return;let e=setTimeout(()=>ts(null),3200);return()=>clearTimeout(e)},[tn]),(0,h.useEffect)(()=>{if(!tB)return;let e=setTimeout(()=>tP(null),3200);return()=>clearTimeout(e)},[tB]);let[sm,sg]=(0,h.useState)(null),sy=(0,h.useRef)(null);(0,h.useEffect)(()=>{var e,t,l,n;let s=null==nZ?void 0:nZ.rod.name,i=l1.current;i&&"Basic"!==i&&"Basic"===s&&(null!=(l=null==nZ||null==(e=nZ.rodsOwned)?void 0:e[i])?l:0)<=0&&sg({kind:"rod",name:i}),s&&(l1.current=s);let a=null==nZ?void 0:nZ.lure.name,r=sy.current;r&&"Basic"!==r&&"Basic"===a&&!((null!=(n=null==nZ||null==(t=nZ.luresOwned)?void 0:t[r])?n:0)>0)&&sg({kind:"lure",name:r}),a&&(sy.current=a)},[null==nZ?void 0:nZ.rod.name,null==nZ?void 0:nZ.lure.name]),(0,h.useEffect)(()=>{var e,t,l,n;sm&&nZ&&("rod"===sm.kind&&(null!=(l=null==(e=nZ.rodsOwned)?void 0:e[sm.name])?l:0)>0&&sg(null),"lure"===sm.kind&&((null!=(n=null==(t=nZ.luresOwned)?void 0:t[sm.name])?n:0)>0||nZ.lure.name===sm.name)&&sg(null))},[nZ,sm]),(0,h.useEffect)(()=>{if(!l$)return;let e=setTimeout(()=>l0(null),6e3);return()=>clearTimeout(e)},[l$]);let sb=(0,h.useRef)(null),sv=(0,h.useRef)(null),sj=(0,h.useRef)(!1);(0,h.useEffect)(()=>{sj.current=tv},[tv]),(0,h.useEffect)(()=>{tv&&sb.current&&(sb.current.style.cssText="")},[tv]);let sk=(0,h.useCallback)(e=>{tb(e),e||tj(!1),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:watch",{watching:e})},[]),sw=(0,h.useCallback)(e=>{let t=sb.current;if(!t||sj.current)return;let l=sv.current;if(!e){t.style.display="none",l&&(l.style.display="none");return}t.style.display="block",t.style.left="".concat(e.x,"px"),t.style.top="".concat(e.y,"px"),t.style.width="".concat(e.w,"px"),t.style.height="".concat(e.h,"px"),l&&(l.style.display="flex",l.style.left="".concat(e.x+e.w/2,"px"),l.style.top="".concat(e.y+e.h+6,"px"))},[]);(0,h.useEffect)(()=>{if(!ty||tf.length>0)return;let e=!0;return fetch("/api/channels").then(e=>e.json()).then(t=>{e&&Array.isArray(null==t?void 0:t.channels)&&(tp(t.channels),tm(0))}).catch(()=>{}),()=>{e=!1}},[ty,tf.length]);let sS=tf.length>0?tf[tx%tf.length]:null;(0,h.useEffect)(()=>((0,f.iG)(!!sS),()=>(0,f.iG)(!1)),[sS]);let sE=ty?null==sS?void 0:sS.name:void 0;(0,h.useEffect)(()=>{if(!sE)return;let e=(0,r.io)(a.ZW,{transports:["websocket"],auth:e=>{fetch("/api/auth/socket-token").then(e=>e.json()).then(t=>{let{token:l}=t;return e({token:null!=l?l:null})}).catch(()=>e({token:null}))}});return e.on("connect",()=>e.emit("join_channel",{name:sE})),()=>{e.disconnect()}},[sE]);let sD=(0,h.useMemo)(()=>sS?(0,n.jsx)(p.A,{streamService:sS.streamService,streamId:sS.streamId,viewers:sS.viewers,isPlaylist:sS.isPlaylist,updatedAt:sS.updatedAt?new Date(sS.updatedAt):new Date}):null,[null==sS?void 0:sS.streamService,null==sS?void 0:sS.streamId,null==sS?void 0:sS.isPlaylist]),sC=()=>null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("game:fish:repair"),sT=e=>null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("game:fish:rod-equip",{item:e}),sN=e=>null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("game:fish:lure-equip",{item:e}),sA=(0,h.useRef)(-1),[,sI]=(0,h.useState)(0);(0,h.useEffect)(()=>{if(sA.current<0){sA.current=ez.length,l4(ez.slice(-6).map((e,t)=>({id:t,message:e.message,until:Date.now()+1e4})));return}if(ez.length>sA.current){let e=ez.slice(sA.current).map((e,t)=>({id:sA.current+t,message:e.message,until:Date.now()+1e4}));sA.current=ez.length,l4(t=>[...t,...e].slice(-12))}},[ez]),(0,h.useEffect)(()=>{let e=setInterval(()=>sI(e=>e+1),1e3);return()=>clearInterval(e)},[]);let sM=l2.filter(e=>e.until>Date.now()).slice(-6).reverse(),s_=nZ?nZ.rodDurability/nZ.rod.maxDurability*100:100,sR=nZ?(0,Z.Zv)(nZ.rod.price,nZ.rod.maxDurability,nZ.rodDurability):0,sF=(0,v.Cq)(null!=(N=null==(e=tV.angler)?void 0:e.level)?N:1),sL=tC>Date.now()?"offshore":"pond"===nF.zone?"lake":"coast",sO=tV.entries?b.TA.filter(e=>
1{let t=tV.entries[e.id];return!!t&&(t.count>0||t.legacyCount>0)}).length:0,sz=t_?"\uD83D\uDD25 Resting by the fire — earning gems (covers your rent) \xb7 move to get up":"charge"===nL?"Release to cast \xb7 hold longer = further & deeper":"casting"===nL||"live"===nL?eP?"Tap REEL to strike \xb7 hold to wind up, let go to ease off — keep it in the green":"SPACE/E strikes \xb7 hold to wind up, let go to ease off — keep it in the green \xb7 Q cut":"resolving"===nL||"done"===nL?eP?"Tap the water to cast again":"Tap E to cast again":e0?"Press E to spar at the Dojo \uD83E\uDD4B":e2?"Press E to play Feesh Cards \uD83D\uDC20":eX?"Press E to go home":eK?"Press F to sit by the fire \uD83D\uDD25":eQ?"Press E to enter the Shop":eG?nZ?nB?"Your rod is broken — repair it or switch rods (Shop)":nH?eP?"Tap the water to cast \xb7 tap again in the green":"Press E to cast \xb7 press E again in the green":"Re-baiting your hook… ".concat(nO,"s"):eR&&"guest"!==eR.role?"Loading your gear…":"Sign in to fish":"Walk to the water's edge \uD83E\uDE9D (or visit the shop)",sH={...E.zq,padding:"4px 9px",fontSize:12,boxShadow:"0 2px 0 0 ".concat(E.c.borderDark,", inset 1px 1px 0 rgba(255,255,255,0.25)")},sZ={...sH,padding:"4px 7px"},sB=(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:E.xe.xs,...E.LQ(E.c.panel),padding:"4px 6px",color:E.c.text},children:[tf.length>1&&(0,n.jsx)("button",{onClick:()=>tm(e=>(e-1+tf.length)%tf.length),style:sZ,children:"◀"}),(0,n.jsx)("span",{style:{maxWidth:160,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",font:"600 12px ".concat(E.gx.display),letterSpacing:"0.3px"},children:sS?sS.title||sS.name:"Movie Night"}),tf.length>1&&(0,n.jsx)("button",{onClick:()=>tm(e=>(e+1)%tf.length),style:sZ,children:"▶"}),(0,n.jsx)("button",{onClick:()=>tj(e=>{let t=!e,l=sb.current;return l&&t&&(l.style.cssText=""),t}),style:sH,title:tv?"Shrink to the screen":"Make it bigger",children:tv?"⤡ Shrink":"⛶ Bigger"}),(0,n.jsx)("button",{onClick:()=>sk(!1),style:{...sH,background:E.c.danger,color:"#fff"},children:"✕ Leave"})]});return(0,n.jsxs)("div",{ref:tg,className:(0,o.cn)("relative h-full w-full overflow-hidden bg-[#7cbb55] select-none",M().uiRoot),style:{fontFamily:E.gx.body,letterSpacing:"0.4px"},children:[(0,n.jsx)(f.Ay,{selfName:eB,selfId:t5,selfStyle:t6,selfRod:nq,weather:null!=(I=null==(t=tV.world)?void 0:t.weather)?I:null==nZ?void 0:nZ.weather,time:null!=(R=null==(l=tV.world)?void 0:l.time)?R:null==nZ?void 0:nZ.time,fishing:nF,paused:null!==tF,worldHidden:"poker"===tF||"fight"===tF||"reef"===tF,catchFx:lh,players:t0,catchPops:ld,emotePops:lp,chatBubbles:lm,onInteract:se,onNearChange:n9,onNearPlayer:ss,onMove:nX,onWarp:n$,posFix:tN,onSit:sn,onWatch:sl,onCook:()=>null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("feesh:cook"),onGift:e=>null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("feesh:gift",{to:e}),selfHat:le,selfHouseTier:tt,onWatching:sk,watching:ty,onMovieRect:sw,boatUntil:tC,onNearDock:si}),ty&&(0,n.jsxs)("div",{className:tv?"absolute left-1/2 top-[6%] z-40 w-[56%] max-w-[760px] -translate-x-1/2":"contents",children:[(0,n.jsxs)("div",{ref:sb,className:tv?"relative aspect-video w-full overflow-hidden rounded-lg bg-black shadow-2xl":"absolute z-20 overflow-hidden rounded-md bg-black shadow-2xl",style:tv?void 0:{display:"none"},children:[(0,n.jsx)("div",{className:"absolute inset-0 h-full w-full overflow-hidden bg-black [&>div]:h-full [&>div]:w-full [&_iframe]:h-full [&_iframe]:w-full",children:sS?sD:(0,n.jsx)("div",{className:"flex h-full w-full items-center justify-center text-sm text-white/70",children:"\uD83C\uDFAC Finding a stream…"})}),(0,n.jsx)("div",{className:"pointer-events-none absolute inset-0 rounded-[inherit] ring-1 ring-black"})]}),!tv&&(0,n.jsx)("div",{ref:sv,className:"absolute z-30 -translate-x-1/2",style:{display:"none"},children:sB}),tv&&(0,n.jsx)("div",{className:"mt-2 flex justify-center",children:sB})]}),(null!=(H=tO.baked)?H:0)>Date.now()&&(0,n.jsx)("div",{className:(0,o.cn)("pointer-events-none absolute inset-0 z-[15]",M().trippyOverlay)}),(null!=(ec=tO.buzzed)?ec:0)>Date.now()&&(0,n.jsx)("div",{className:(0,o.cn)("pointer-events-none absolute inset-0 z-[14]",M().drunkOverlay)}),(()=>{var e,t,l;let s=Date.now(),i=[(null!=(e=tO.baked)?e:0)>s&&"\uD83C\uDF3F Baked \xb7 luckier catches",(null!=(t=tO.buzzed)?t:0)>s&&"\uD83C\uDF7A Buzzed \xb7 ".concat(Math.round(40),"% faster casts"),(null!=(l=tO.lucky)?l:0)>
1s&&"\uD83D\uDE0F Lucky \xb7 luckier catches"].filter(Boolean);return i.length?(0,n.jsx)("div",{className:"pointer-events-none absolute bottom-3 left-1/2 z-20 -translate-x-1/2",style:{...E.LQ(E.c.panel),padding:"4px 12px",font:"600 12px ".concat(E.gx.display),color:E.c.text},children:i.join(" \xb7 ")}):null})(),tH&&(0,n.jsx)("div",{className:(0,o.cn)("pointer-events-none absolute inset-0 z-50 bg-black",M().flingFade)}),lj&&!lE&&!lH&&!sp&&!sx&&(0,n.jsx)("div",{className:"absolute left-1/2 flex -translate-x-1/2 flex-col items-center gap-1.5",style:{top:eW?118:64,zIndex:25},children:lj.duelsOff?(0,n.jsxs)("div",{style:{...E.LQ(E.c.panel),padding:"4px 12px",font:"600 12px ".concat(E.gx.display),color:E.c.textMuted,opacity:.85},children:["\uD83D\uDEAB ",lj.name," \xb7 challenges off"]}):null===lw?(0,n.jsxs)("button",{onClick:()=>lS("fight"),style:{...E.tB,padding:"7px 16px",display:"inline-flex",alignItems:"center",gap:6,font:"600 13px ".concat(E.gx.display)},children:["⚔️ Challenge ",lj.name]}):(()=>{let e="fight"===lw,t=e?sr:sd;return(0,n.jsxs)("div",{style:{...E.LQ(E.c.panel),padding:"8px 10px",display:"flex",flexDirection:"column",gap:8,alignItems:"center"},children:[(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("button",{onClick:()=>lS("fight"),style:{...e?E.tB:E.zq,padding:"4px 10px",font:"600 11px ".concat(E.gx.display)},children:"⚔️ Fight"}),(0,n.jsx)("button",{onClick:()=>lS("cards"),style:{...!e?E.tB:E.zq,padding:"4px 10px",font:"600 11px ".concat(E.gx.display)},children:"\uD83D\uDC20 Cards"}),(0,n.jsx)("button",{onClick:()=>lS(null),title:"Cancel",style:{...E.zq,padding:"4px 8px",font:"600 11px ".concat(E.gx.display),marginLeft:2},children:"✕"})]}),(0,n.jsx)("div",{className:"flex flex-wrap justify-center gap-1.5",style:{maxWidth:260},children:(e?[25,100,500]:ei).map(l=>{let s=Math.floor(nW)>=l;return(0,n.jsx)("button",{onClick:()=>s&&t(l),disabled:!s,title:0===l?"Friendly — no gems at stake":s?"".concat(e?"Fight":"Card battle"," for ").concat(l.toLocaleString()," gems"):"You need ".concat(l.toLocaleString()," \uD83D\uDC8E"),style:s?{...0===l?E.zq:E.tB,padding:"6px 11px",display:"inline-flex",alignItems:"center",gap:4}:{...E.zq,padding:"6px 11px",display:"inline-flex",alignItems:"center",gap:4,opacity:.45,cursor:"not-allowed"},children:0===l?(0,n.jsx)("span",{style:{font:"700 12px ".concat(E.gx.display)},children:"Free"}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{style:E.Yp,children:l.toLocaleString()}),(0,n.jsx)("img",{src:"/feesh/sprites/ui/gem.png",alt:"gems",style:{width:13,height:13,imageRendering:"pixelated"}})]})},l)})})]})})()}),lH&&!sp&&!sx&&"reef"!==tF&&(0,n.jsx)("div",{style:{...E.f5,zIndex:30},children:(0,n.jsxs)("div",{style:{...E.rk,width:300,padding:E.xe.xl,textAlign:"center"},children:[(0,n.jsx)("div",{style:{fontSize:28,marginBottom:E.xe.xs},children:"\uD83D\uDC20"}),(0,n.jsxs)("p",{style:{fontFamily:E.gx.body,fontSize:14,color:E.c.text,margin:0},children:[(0,n.jsx)("span",{style:{fontFamily:E.gx.display,fontWeight:600},children:lH.fromName})," challenges you to a card battle",lH.stake>0?" for":""]}),(0,n.jsx)("p",{style:{...E.Yp,fontSize:22,color:E.c.accent,margin:"".concat(E.xe.sm,"px 0")},children:lH.stake>0?"".concat(lH.stake.toLocaleString()," \uD83D\uDC8E"):"Friendly — no stakes"}),(0,n.jsxs)("p",{style:{fontFamily:E.gx.body,fontSize:12,color:E.c.textMuted,marginBottom:lH.clean?E.xe.sm:E.xe.lg},children:["Accept to battle with your own deck. Play creatures, exploit type-matchups, drop their hero to 0",lH.stake>0?" — stakes are held in escrow, winner takes the pot":"","."]}),lH.clean&&(0,n.jsx)("p",{style:{fontFamily:E.gx.body,fontSize:11,color:E.c.accent,marginBottom:E.xe.lg},children:"Clean reef rules — at this stake every card battles at level 1, no foil bonus."}),(0,n.jsxs)("div",{style:{display:"flex",gap:E.xe.sm},children:[(0,n.jsx)("button",{onClick:su,style:{...E.tB,flex:1},children:"Battle!"}),(0,n.jsx)("button",{onClick:sh,style:{...E.zq,flex:1},children:"Decline"})]})]})}),lE&&!sp&&!sx&&(0,n.jsx)("div",{style:{...E.f5,zIndex:30},children:(0,n.jsxs)("div",{style:{...E.rk,width:300,padding:E.xe.xl,textAlign:"center"},children:[(0,n.jsx)("div",{style:{fontSize:28,marginBottom:E.xe.xs},children:"⚔️"}),(0,n.jsxs)("p",{style:{fontFamily:E.gx.body,fontSize:14,color:E.c.text,margin:0},children:[(0,n.jsx)("span",{style:{fontFamily:E.gx.display,fontWeight:600},children:lE.fromName})," challenges you to a duel for"]}),(0,n.jsxs)("p",{style:{...E.Yp,fontSize:22,color:E.c.accent,margin:"".concat(E.xe.sm,"px 0")},children:[lE.stake," \uD83D\uDC8E"]}),(0,n.jsxs)("p",{style:{fontFamily:E.gx.body,fontSize:12,color:E.c.textMuted,marginBottom:E.xe.lg},children:["Accept and step into the Dojo — a ranked fight, best of 3. They picked ",null!=(ef=null==(d=O.Y[null!=(eu=lE.fighter)?eu:0])?void 0:d.name)?ef:"a fighter",";
1 you fight as ",null==(S=O.Y[e8])?void 0:S.name," (change it in the Dojo)."]}),(0,n.jsxs)("div",{style:{display:"flex",gap:E.xe.sm},children:[(0,n.jsx)("button",{onClick:so,style:{...E.tB,flex:1},children:"Enter the ring"}),(0,n.jsx)("button",{onClick:sc,style:{...E.zq,flex:1},children:"Decline"})]}),(0,n.jsx)("button",{onClick:sf,style:{marginTop:E.xe.sm,background:"none",border:"none",cursor:"pointer",fontFamily:E.gx.body,fontSize:11,color:E.c.textMuted},children:"Block their duels for 1 hour"})]})}),e3&&!sx&&(0,n.jsx)(K,{pts:nW,onClose:()=>e5(!1),onSpar:(e,t)=>{e6(t),null===i.sZ||void 0===i.sZ||i.sZ.emit("feesh:fight:spar",{difficulty:e,fighter:t})},onTraining:(e,t)=>{e6(e),e5(!1),lA({self:0,stake:0,mode:"training",me:{name:"You",style:0,hat:0},opp:{name:"Dummy",style:0,hat:0},fighter:e,chars:[e,t]}),tL("fight")},onTutorial:e=>{e5(!1),lA({self:0,stake:0,mode:"tutorial",me:{name:"You",style:0,hat:0},opp:{name:"Dummy",style:0,hat:0},fighter:e,chars:[e,4*(4!==e)]}),tL("fight")},feeLine:e=>{let t=j.iL[e],l=null==lY?void 0:lY[e],s=0===l?0:t.fee;return{fee:s,node:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{style:{fontFamily:E.gx.body,fontSize:11,color:E.c.textMuted,marginBottom:4},children:0===l?(0,n.jsx)(n.Fragment,{children:"Daily purse empty — free practice, no entry & no payout"}):s>0?(0,n.jsxs)(n.Fragment,{children:["Entry ",(0,n.jsxs)("b",{style:{color:E.c.text},children:[s,"\uD83D\uDC8E"]})," \xb7 a win pays ",(0,n.jsxs)("b",{style:{color:E.c.text},children:[t.pay,"\uD83D\uDC8E"]})]}):(0,n.jsxs)(n.Fragment,{children:["Free practice \xb7 first win of the day pays ",(0,n.jsxs)("b",{style:{color:E.c.text},children:[t.pay,"\uD83D\uDC8E"]})]})}),(0,n.jsx)(er,{left:l,cap:t.cap})]})}}}),lU&&(lF||lO)&&(0,n.jsx)($,{onDone:e=>{lQ(!1),"binder"===e?lz(!0):"practice"===e&&(lP("easy"),null===i.sZ||void 0===i.sZ||i.sZ.emit("reef:spar",{difficulty:"easy"}))}}),lF&&!lU&&"reef"!==tF&&(0,n.jsx)(B.uW,{style:{...E.f5,zIndex:30},onClick:()=>lL(!1),children:(0,n.jsxs)("div",{"data-testid":"reef-picker",style:{...E.rk,width:330,padding:E.xe.xl,textAlign:"center"},onClick:e=>e.stopPropagation(),children:[(0,n.jsx)("div",{style:{fontSize:28,marginBottom:E.xe.xs},children:"\uD83D\uDC20"}),(0,n.jsx)("p",{style:{fontFamily:E.gx.display,fontWeight:600,fontSize:16,color:E.c.text,margin:0},children:"Feesh Cards"}),(0,n.jsx)("p",{style:{fontFamily:E.gx.body,fontSize:12,color:E.c.textMuted,margin:"".concat(E.xe.xs,"px 0 ").concat(E.xe.md,"px")},children:"A fish card battle. Play creatures, attack with type-matchups, drop the rival to 0. Pay the entry, win the purse."}),(0,n.jsx)("div",{style:{display:"flex",gap:6,justifyContent:"center",marginBottom:E.xe.md},children:["easy","normal","hard"].map(e=>(0,n.jsx)("button",{"data-testid":"reef-diff-".concat(e),onClick:()=>lP(e),style:{...lB===e?E.tB:E.zq,padding:"5px 12px",textTransform:"capitalize"},children:e},e))}),(()=>{let e=j.iL[lB],t=null==lY?void 0:lY[lB],l="normal"===lB&&lq>0,s=0===t||l?0:e.fee,a=Math.floor(nW)>=s;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{"data-testid":"reef-entry-line",style:{fontFamily:E.gx.body,fontSize:11,color:E.c.textMuted,marginBottom:4},children:l?(0,n.jsxs)(n.Fragment,{children:["New-player practice \xb7 free entry (",lq," left) \xb7 practice wins don't pay"]}):0===t?(0,n.jsx)(n.Fragment,{children:"Daily purse empty — free practice, no entry & no payout"}):s>0?(0,n.jsxs)(n.Fragment,{children:["Entry ",(0,n.jsxs)("b",{style:{color:E.c.text},children:[s,"\uD83D\uDC8E"]})," \xb7 a win pays ",(0,n.jsxs)("b",{style:{color:E.c.text},children:[e.pay,"\uD83D\uDC8E"]})]}):(0,n.jsxs)(n.Fragment,{children:["Free practice \xb7 first win of the day pays ",(0,n.jsxs)("b",{style:{color:E.c.text},children:[e.pay,"\uD83D\uDC8E"]})]})}),(0,n.jsx)(er,{left:t,cap:e.cap}),(0,n.jsxs)("button",{"data-testid":"reef-battle","data-fee":s,disabled:!a,onClick:()=>a&&(null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("reef:spar",{difficulty:lB})),style:a?{...E.tB,padding:"8px 18px",display:"inline-flex",alignItems:"center",gap:6}:{...E.zq,padding:"8px 18px",display:"inline-flex",alignItems:"center",gap:6,opacity:.5,cursor:"not-allowed"},children:["Battle",s>0?(0,n.jsxs)(n.Fragment,{children:[" — ",(0,n.jsx)("span",{style:E.Yp,children:s}),(0,n.jsx)("img",{src:"/feesh/sprites/ui/gem.png",alt:"gems",style:{width:13,height:13,imageRendering:"pixelated"}})]}):" — free"]}),!a&&(0,n.jsxs)("div",{"data-testid":"reef-battle-need",style:{marginTop:6,font:"800 12px ".concat(E.gx.num),color:"#ffb4a8"},children:["Need ",s,"\uD83D\uDC8E — you have ",Math.floor(nW)]})]})})(),(0,n.jsx)("button",{onClick:()=>lz(!0),style:{...E.zq,marginTop:E.xe.md,width:"100%",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:6},children:"\uD83C\uDCCF Collection \xb7 Packs \xb7 Market"}),(0,n.jsx)("button",{onClick:()=>lL(!1),style:{marginTop:E.xe.sm,background:"none",border:"none",cursor:"pointer",fontFamily:E.gx.body,fontSize:11,color:E.c.textMuted},children:"Maybe later"})]})}),lO&&(0,n.jsx)(X,{onClose:()=>lz(!1),onPlay:()=>{lz(!1),lL(!0)}}),lJ&&(0,n.jsx)("div",{className:(0,o.cn)("pointer-events-none absolute left-1/2 top-[28%] z-30 -translate-x-1/2 whitespace-nowrap"),style:{...E.LQ(E.c.panel),padding:"4px 14px",color:E.c.text,font:"700 14px ".concat(E.gx.display),letterSpacing:"0.4px"},children:lJ}),(tn||tB)&&(0,n.jsx)("div",{"data-testid":"shop-toast",className:"pointer-events-none absolute left-1/2 top-[18%] -translate-x-1/2",style:{zIndex:60,...E.LQ(/not|need|fail|can't|cannot|only|log in/i.test(null!=(ew=null!=tn?tn:tB)?ew:"")?E.c.danger:E.c.panel),color:E.c.text,padding:"8px 16px",font:"700 14px ".concat(E.gx.display),maxWidth:"calc(100% - 24px)",textAlign:"center"},children:null!=tn?tn:tB}),lC&&(0,n.jsx)("div",{className:"absolute left-1/2 top-28 z-30 -translate-x-1/2",style:{...E.LQ(E.c.panel),color:E.c.text,padding:"8px 16px",font:"600 14px ".concat(E.gx.display)},children:lC}),l$&&(0,n.jsxs)("div",{className:"absolute left-1/2 top-1/3 z-40 flex -translate-x-1/2 items-center gap-2",style:{...E.LQ(E.c.danger),color:"#fff",padding:"8px 16px",font:"700 14px ".concat(E.gx.display)},children:[l$,(0,n.jsx)("button",{onClick:()=>l0(null),className:"ml-1",style:{background:"none",border:"none",cursor:"pointer",color:"rgba(255,255,255,0.8)",display:"grid",placeItems:"center"},children:(0,n.jsx)(c.A,{className:"h-4 w-4"})})]}),tI&&tC<=Date.now()&&"idle"===nL&&null===tF&&(0,n.jsx)("div",{"data-testid":"boat-rent",className:"absolute left-1/2 z-30 -translate-x-1/2",style:{to
1p:(eW?140:84)+56*!!sm},children:(0,n.jsxs)("button",{onClick:sa,disabled:nW<sF,style:nW<sF?{...E.zq,opacity:.5,cursor:"not-allowed",display:"inline-flex",alignItems:"center",gap:6}:{...E.tB,display:"inline-flex",alignItems:"center",gap:6},children:["Rent the boat — ",(0,n.jsx)("span",{style:E.Yp,children:sF}),(0,n.jsx)("img",{src:"/feesh/sprites/ui/gem.png",alt:"gems",style:{width:14,height:14,imageRendering:"pixelated"}})]})}),tC>Date.now()&&(0,n.jsxs)("div",{className:"absolute left-3 z-30 flex items-center gap-1.5",style:{bottom:eP?132:104},children:[(0,n.jsxs)("div",{className:"pointer-events-none",style:{...E.LQ(E.c.water),color:E.c.text,padding:"4px 10px",font:"700 12px ".concat(E.gx.display)},children:["⛵ On the water \xb7 ",(0,n.jsxs)("span",{style:E.Yp,children:[Math.max(0,Math.ceil((tC-Date.now())/1e3)),"s"]})]}),(0,n.jsx)("button",{onClick:()=>tT(0),style:{...E.tB,padding:"4px 10px",fontSize:12},children:"Step off"})]}),!(eP&&"idle"!==nL)&&(0,n.jsxs)("div",{className:"absolute bottom-20 right-3 flex flex-col items-end gap-2",children:[tk&&(0,n.jsx)("div",{style:{width:232,...E.LQ(E.c.panel),boxShadow:"0 0 0 2px ".concat(E.c.borderDark,", 6px 8px 0 rgba(0,0,0,0.4)"),padding:E.xe.sm,color:E.c.text},children:[{t:"Moves",items:f.Mh.filter(e=>e.anim&&!e.paired)},{t:"Together",items:f.Mh.filter(e=>e.paired)},{t:"Reactions",items:f.Mh.filter(e=>!e.anim&&!e.paired)}].map(e=>e.items.length?(0,n.jsxs)("div",{style:{marginBottom:E.xe.sm},children:[(0,n.jsxs)("div",{style:{margin:"0 0 6px 2px",font:"600 11px ".concat(E.gx.display),letterSpacing:"0.5px",textTransform:"uppercase",color:E.c.textMuted},children:[e.t,"Together"===e.t&&" \uD83E\uDD1D"]}),(0,n.jsx)("div",{className:"grid grid-cols-4 gap-1.5",children:e.items.map(e=>(0,n.jsxs)("button",{onClick:()=>n0(e.key),title:e.label,style:{...E.LQ(E.c.panelRaised),display:"flex",height:52,flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,lineHeight:1.1,cursor:"pointer"},children:[(0,n.jsx)("span",{style:{fontSize:18},children:e.icon}),(0,n.jsx)("span",{style:{fontSize:9,fontFamily:E.gx.display,color:E.c.text},children:e.label})]},e.key))})]},e.t):null)}),(0,n.jsx)("button",{onClick:()=>tw(e=>!e),style:{...tk?E.tB:E.zq,padding:"7px 14px",fontSize:13},children:tk?"✕ Close":"\uD83D\uDE00 Emotes"})]}),!ty&&eW&&!ne&&"idle"===nL&&(0,n.jsxs)("button",{"data-testid":"hud-chip",onClick:()=>nt(!0),className:"absolute left-3 z-20 flex items-center gap-1.5",style:{to
1p:64,...E.LQ(E.c.panel),padding:"4px 10px",color:E.c.text,font:"700 13px ".concat(E.gx.display)},children:[(0,n.jsx)("span",{style:E.Yp,children:Math.floor(ny).toLocaleString()}),(0,n.jsx)("img",{src:"/feesh/sprites/ui/gem.png",alt:"gems",style:{width:13,height:13,imageRendering:"pixelated"}}),tV.angler&&(0,n.jsxs)("span",{style:{...E.Yp,fontSize:11,color:E.c.textMuted},children:["\xb7 Lv ",tV.angler.level]}),(0,n.jsx)("span",{style:{fontSize:10,color:E.c.textMuted},children:"▾"})]}),!ty&&(!eW||ne)&&(0,n.jsxs)("div",{className:(0,o.cn)("absolute left-3 top-3 flex flex-col gap-2",eW?"pointer-events-auto":"pointer-events-none [&>*]:pointer-events-auto"),onClick:eW?()=>nt(!1):void 0,style:eW?{top:64,transform:"scale(0.8)",transformOrigin:"top left",zIndex:26,display:"idle"!==nL?"none":void 0}:void 0,children:[(0,n.jsxs)("div",{className:(0,o.cn)(M().pxPanel,"flex w-[244px] flex-col gap-1.5 p-2.5"),children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-baseline gap-1.5",children:[(0,n.jsx)("span",{className:(0,o.cn)(nv>0&&M().walletPop),style:{...E.Yp,fontSize:18,color:E.c.text,textShadow:"0 1px 2px rgba(0,0,0,.5)"},children:Math.floor(ny).toLocaleString()},nv),(0,n.jsx)("img",{src:"/feesh/sprites/ui/gem.png",alt:"gems",className:"inline-block h-3.5 w-3.5 align-middle",style:{imageRendering:"pixelated"}}),nu>=2&&(0,n.jsxs)("span",{className:"ml-1",style:{...E.Yp,fontSize:"".concat(Math.min(15,11+.4*nu),"px"),color:nu>=10?"#ff4d4d":nu>=6?"#ff8a3c":nu>=4?E.c.coin:E.c.text},children:[nu,"\xd7 streak"]})]}),!tV.world&&(null==nZ?void 0:nZ.time)&&(0,n.jsxs)("span",{className:"flex items-center gap-1",style:{fontFamily:E.gx.body,fontSize:11,color:E.c.textMuted},children:["Stormy"===(eM=null!=(eS=(0,_.l5)().weather)?eS:nZ.weather)?"⛈️":"Rainy"===eM?"\uD83C\uDF27️":"Cloudy"===eM?"⛅":"Foggy"===eM?"\uD83C\uDF2B️":"☀️"," ",null!=(eE=(0,_.l5)().time)?eE:nZ.time]})]}),(0,n.jsx)(y.Ws,{angler:tV.angler,xpPop:tV.fresh}),(null==nZ?void 0:nZ.fishDay)&&nZ.fishDay.mult<1&&(0,n.jsxs)("div",{title:"You've landed ".concat(nZ.fishDay.earned.toLocaleString()," \uD83D\uDC8E of fish today; past ").concat(nZ.fishDay.full.toLocaleString()," they pay less until tomorrow (UTC)."),style:{...E.LQ(E.c.panel),color:E.c.text,padding:"2px 8px",fontFamily:E.gx.body,fontSize:11},children:["\uD83D\uDC1F the fish are wary today \xb7 catches pay ",(0,n.jsxs)("span",{style:E.Yp,children:["\xd7",nZ.fishDay.mult.toFixed(2)]})]}),nm>Date.now()&&(0,n.jsx)("div",{className:(0,o.cn)("flex items-center gap-1.5",M().celebrateGlow),style:{...E.LQ(E.c.accent),color:E.c.textInk,padding:"2px 8px",font:"800 11px ".concat(E.gx.display)},children:"✨ Golden Hour \xb7 lake goal 2\xd7"}),(0,n.jsxs)("div",{style:{fontFamily:E.gx.body,fontSize:11.5,lineHeight:1.3,color:E.c.textMuted},children:["Session ",(0,n.jsx)("span",{style:E.Yp,children:nn.count})," caught \xb7 ",(0,n.jsxs)("span",{style:E.Yp,children:[nn.earned>=0?"+":"",nn.earned]})," \uD83D\uDC8E",(()=>{let e=(Date.now()-ni.current)/6e4;return e>.15&&nn.earned>0?(0,n.jsxs)("span",{style:{color:E.c.success},children:[" \xb7 ",(0,n.jsx)("span",{style:E.Yp,children:Math.round(nn.earned/e).toLocaleString()}),"/min"]}):null})(),nn.best&&(0,n.jsxs)(n.Fragment,{children:[" \xb7 best ",(0,n.jsx)("span",{className:eo(nn.best.rarity),children:nn.best.name})]})]}),(0,n.jsx)("div",{style:{height:1,background:E.c.borderDark}}),(()=>{let e=b.TA.length,t=e-sO;return(0,n.jsxs)("button",{"data-testid":"hud-journal",onClick:()=>tL("journal"),className:"pointer-events-auto flex items-center gap-2 transition",style:{fontFamily:E.gx.display,fontSize:11.5,fontWeight:600,color:E.c.text},title:"Your Fish Journal — every fish, your records, the server records",children:[(0,n.jsx)("span",{className:"w-[54px] shrink-0 whitespace-nowrap text-left",children:"Journal"}),(0,n.jsx)("span",{className:"relative h-2 flex-1 overflow-hidden",style:{...E.LQ(E.c.borderDark),boxShadow:"inset 1px 1px 0 rgba(0,0,0,0.4)"},children:(0,n.jsx)("span",{className:"absolute inset-y-0 left-0",style:{width:"".concat(Math.min(100,sO/e*100),"%"),background:E.c.accent,boxShadow:"0 0 5px ".concat(E.c.accent,"80")}})}),(0,n.jsx)("span",{"data-testid":"journal-found",className:"shrink-0 whitespace-nowrap text-right",style:{...E.Yp,color:E.c.textMuted},children:t>0?"".concat(sO,"/").concat(e," found"):"complete ✓"})]})})(),np&&(0,n.jsxs)("div",{className:"flex flex-col gap-0.5",title:"Fis
1h toward the shared lake goal — when it fills, everyone who helped is paid by how much they contributed. New goal after each one.",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",style:{fontFamily:E.gx.display,fontSize:11.5,fontWeight:600,color:E.c.text},children:[(0,n.jsxs)("span",{className:"truncate",children:["\uD83C\uDF0A ",np.label]}),(0,n.jsxs)("span",{className:"shrink-0 pl-1",style:{...E.Yp,color:E.c.textMuted},children:[Math.round(np.total/np.goal*100),"%"]})]}),(0,n.jsx)("span",{className:"relative h-2 w-full overflow-hidden",style:{...E.LQ(E.c.borderDark),boxShadow:"inset 1px 1px 0 rgba(0,0,0,0.4)"},children:(0,n.jsx)("span",{className:"absolute inset-y-0 left-0 transition-[width] duration-500",style:{width:"".concat(Math.min(100,np.total/np.goal*100),"%"),background:E.c.water,boxShadow:"0 0 5px ".concat(E.c.water,"80")}})})]})]}),"idle"===nL&&null===tF&&(0,n.jsx)(y.X3,{world:tV.world,biome:null!=tX?tX:sL,onBiome:t$,entries:tV.entries,level:null!=(eD=null==(D=tV.angler)?void 0:D.level)?eD:1,compact:eW,onOpen:e=>{tJ(e),tL("journal")}})]}),(0,n.jsxs)("div",{className:"absolute right-3 top-3 z-50 flex items-start gap-2",style:{display:sp||sx||"reef"===tF?"none":void 0},children:[(()=>{let e=function(e,t,l,s){let i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return(0,n.jsxs)("button",{"data-testid":"menu-".concat(s.toLowerCase().replace(/[^a-z0-9]+/g,"-")),onClick:()=>{t(),tD(!1)},style:{...E.f0(i),width:"100%",cursor:"pointer",border:"none",textAlign:"left",fontFamily:E.gx.display,fontWeight:600,fontSize:13},children:[(0,n.jsx)("span",{style:{flexShrink:0,opacity:.9,display:"grid",placeItems:"center",width:18},children:l}),s]},e)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{style:{display:"flex",gap:E.xe.xs,...E.Gt,padding:E.xe.xs,margin:10,...E.EF},children:[(0,n.jsx)("button",{onClick:()=>tL("gear"===tF?null:"gear"),style:E.wJ("gear"===tF),title:"Your gear",children:(0,n.jsx)(ep,{className:"h-4 w-4"})}),(0,n.jsx)("button",{onClick:()=>tL("shop"===tF?null:"shop"),style:E.wJ("shop"===tF),title:"Shop",children:(0,n.jsx)(ex,{className:"h-4 w-4"})}),(0,n.jsx)("button",{"data-testid":"hud-journal-btn",onClick:()=>{tJ(null),tL("journal"===tF?null:"journal")},style:E.wJ("journal"===tF),title:"Fish journal",children:(0,n.jsx)(em,{className:"h-4 w-4"})}),(0,n.jsx)("button",{"data-testid":"hud-more",onClick:()=>tD(e=>!e),style:E.wJ(tE),title:"More",children:(0,n.jsx)(eg,{className:"h-4 w-4"})})]}),tE&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"fixed inset-0 z-[49]",onClick:()=>tD(!1)}),(0,n.jsxs)("div",{style:{position:"absolute",right:10,top:76,zIndex:51,width:208,...E.Gt,padding:4,...E.EF},children:[e("character",()=>tL("character"),(0,n.jsx)(ey,{className:"h-4 w-4"}),"Character","character"===tF),e("cosmetics",()=>tL("cosmetics"),(0,n.jsx)(eb,{className:"h-4 w-4"}),"Hats","cosmetics"===tF),e("poker",()=>tL("poker"),(0,n.jsx)("span",{style:{fontSize:15,lineHeight:1},children:"♠"}),"Texas Hold'em","poker"===tF),e("reef",()=>{tD(!1),lz(!0)},(0,n.jsx)("span",{style:{fontSize:15,lineHeight:1},children:"\uD83D\uDC20"}),"Feesh Cards",lO||lF||"reef"===tF),e("leaderboards",()=>se("leaderboard"),(0,n.jsx)("span",{style:{fontSize:15,lineHeight:1},children:"\uD83C\uDFC6"}),"Leaderboards","leaderboard"===tF),e("about",()=>tL("about"),(0,n.jsx)(ev,{className:"h-4 w-4"}),"How to play","about"===tF),(0,n.jsx)("div",{style:{height:1,background:E.c.borderDark,margin:"4px 0"}}),e("duels",()=>lK(e=>!e),(0,n.jsx)(ej,{className:(0,o.cn)("h-4 w-4",lV&&"opacity-40")}),lV?"Challenges: off":"Challenges: on")]})]})]})})(),(0,n.jsx)(T,{sfxOn:nC,onToggleSfx:()=>nT(e=>!e)})]}),"shop"===tF&&(0,n.jsx)(et,{gems:Math.floor(nW),beerActive:(null!=(eC=tO.buzzed)?eC:0)>Date.now(),weedActive:(null!=(eT=tO.baked)?eT:0)>Date.now(),onBuyBeer:()=>n3("beer"),onBuyWeed:()=>n3("weed"),onOpenRods:()=>tL("rods"),onOpenGame:st,onClose:()=>tL(null)}),"property"===tF&&(0,n.jsx)(el,{gems:Math.floor(nW),tier:tt,houses:j.oF,onUpgrade:()=>n5(tt+1),onSell:n8,onClose:()=>tL(null),ledger:ti}),tF&&(0,n.jsx)("div",{className:"absolute inset-0 z-[19]",onClick:()=>tL(null)}),"leaderboard"===tF&&(0,n.jsx)("div",{style:E.f5,onClick:()=>tL(null),children:(0,n.jsxs)("div",{style:{...E.rk,width:360},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{style:E.Hc,children:[(0,n.jsx)("h2",{style:E.GK,children:"Leaderboards"}),(0,n.jsx)("button",{style:E.PV,onClick:()=>tL(null),"aria-label":"close",children:"\xd7"})]}),(0,n.jsxs)("div",{style:E.S3,children:[(0,n.jsxs)("div",{style:{...E.$H,marginBottom:E.xe.md},children:[(0,n.jsx)("button",{"data-testid":"leaderboard-tab-land",style:{...E.Mf("land"===tc),flex:1},onClick:()=>td("land"),children:"\uD83C\uDFE0 LANDOWNERS"}),(0,n.jsx)("button",{"data-testid":"leaderboard-tab-cards",style:{...E.Mf("cards"===tc),flex:1},onClick:()=>{td("cards"),null===i.sZ||void 0===i.sZ||i.sZ.emit("reef:leaderboard")},children:"\uD83D\uDC20 CARDS"})]}),"land"===tc?(0,n.jsxs)(n.Fragment,{children:[0===tr.length?(0,n.jsx)("p",{style:{textAlign:"center",color:E.c.textMuted,fontFamily:E.gx.body,padding:"".concat(E.xe.lg,"px 0")},children:"No landowners yet — be the first to buy a place."}):(0,n.jsx)("div",{style:{...E.LQ(E.c.bg)},children:tr.map((e,t)=>{var l;return(0,n.jsxs)("div",{style:E.f0(0===t),children:[(0,n.jsx)("span",{style:{width:24,textAlign:"center",...E.Yp},children:0===t?"\uD83E\uDD47":1===t?"\uD83E\uDD48":2===t?"\uD83E\uDD49":t+1}),(0,n.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:600},children:e.name}),(0,n.jsxs)("span",{style:{flexShrink:0,color:E.c.accent,fontFamily:E.gx.display,fontSize:12},children:[null!=(l=ea[e.tier])?l:"\uD83C\uDFE0"," ",e.tierName]})]},"".concat(e.name,"-").concat(t))})}),(0,n.jsx)("p",{style:{marginTop:E.xe.md,textAlign:"center",color:E.c.textMuted,fontFamily:E.gx.body,fontSize:11},children:"Climb the property ladder to rise here."})]}):(0,n.jsxs)(n.Fragment,{children:[0===tu.length?(0,n.jsx)("p",{style:{textAlign:"center",color:E.c.textMuted,fontFamily:E.gx.body,padding:"".concat(E.xe.lg,"px 0")},children:"No ranked card battles yet — challenge an angler near the card table."}):(0,n.jsx)("div",{style:{...E.LQ(E.c.bg)},children:tu.slice(0,10).map((e,t)=>{let l=(0,A.ic)(e.elo);return(0,n.jsxs)("div",{"data-testid":"leaderboard-cards-row",style:E.f0(0===t),children:[(0,n.jsx)("span",{style:{width:24,textAlign:"center",...E.Yp},children:0===t?"\uD83E\uDD47":1===t?"\uD83E\uDD48":2===t?"\uD83E\uDD49":t+1}),(0,n.jsx)("span",{style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontWeight:600},children:e.name}),(0,n.jsxs)("span",{title:"".concat(e.wins,"W \xb7 ").concat(e.losses,"L"),style:{flexShrink:0,color:E.c.accent,fontFamily:E.gx.display,fontSize:12},children:[l.icon," ",l.name]}),(0,n.jsx)("span",{style:{flexShrink:0,...E.Yp,width:44,textAlign:"right"},children:e.elo})]},"".concat(e.name,"-").concat(t))})}),(0,n.jsx)("p",{style:{marginTop:E.xe.md,textAlign:"center",color:E.c.textMuted,fontFamily:E.gx.body,fontSize:11},children:"Feesh Cards Elo — PvP battles move it, practice never does."})]})]})]})}),"cosmetics"===tF&&(0,n.jsx)("div",{style:E.f5,onClick:()=>tL(null),children:(0,n.jsxs)("div",{style:{...E.rk,width:360},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{style:E.Hc,children:[(0,n.jsx)("h2",{style:E.GK,children:"Hats"}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,n.jsxs)("span",{style:E.qS,children:[(0,n.jsx)("img",{src:"/feesh/sprites/ui/gem.png",width:16,height:16,alt:"gems",style:{imageRendering:"pixelated",display:"block"}}),(0,n.jsx)("span",{style:{color:E.c.success}
1,children:Math.floor(nW).toLocaleString()})]}),(0,n.jsx)("button",{style:E.PV,onClick:()=>tL(null),"aria-label":"close",children:"\xd7"})]})]}),(0,n.jsxs)("div",{style:E.S3,children:[(0,n.jsxs)("div",{style:{...E.LQ(E.c.bg)},children:[(0,n.jsxs)("div",{style:E.f0(0===le),children:[(0,n.jsx)("span",{style:{flex:1},children:"Bare head"}),0===le?(0,n.jsx)("span",{style:{color:E.c.success,fontFamily:E.gx.display,fontSize:12},children:"Equipped"}):(0,n.jsx)("button",{style:E.zq,onClick:()=>n7(0),children:"Equip"})]}),j.re.map(e=>{let t=ll.includes(e.id),l=le===e.id,s=nW>=e.price;return(0,n.jsxs)("div",{style:E.f0(l),children:[(0,n.jsxs)("span",{style:{flex:1,display:"flex",alignItems:"center",gap:8},children:[(0,n.jsx)("span",{style:{fontSize:18},children:e.emoji}),e.name]}),t?l?(0,n.jsx)("span",{style:{color:E.c.success,fontFamily:E.gx.display,fontSize:12},children:"Equipped"}):(0,n.jsx)("button",{style:E.zq,onClick:()=>n7(e.id),children:"Equip"}):(0,n.jsx)("button",{style:{...s?E.tB:E.zq,opacity:s?1:.5},disabled:!s,onClick:()=>n6(e.id),children:(0,n.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:5},children:[(0,n.jsx)("img",{src:"/feesh/sprites/ui/gem.png",width:14,height:14,alt:"",style:{imageRendering:"pixelated",display:"block"}}),e.price.toLocaleString()]})})]},e.id)})]}),ls&&(0,n.jsx)("p",{style:{marginTop:E.xe.sm,textAlign:"center",color:E.c.accent,fontFamily:E.gx.body,fontSize:13},children:ls}),(0,n.jsx)("p",{style:{marginTop:E.xe.sm,textAlign:"center",color:E.c.textMuted,fontFamily:E.gx.body,fontSize:11},children:"Pure flex — hats don't affect fishing."})]})]})}),("snake"===tF||"tetris"===tF||"drive"===tF)&&(0,n.jsx)("div",{style:E.f5,onClick:()=>tL(null),children:(0,n.jsxs)("div",{style:{...E.rk,maxWidth:"min(680px, 96vw)"},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{style:E.Hc,children:[(0,n.jsx)("h2",{style:E.GK,children:"snake"===tF?"\uD83D\uDC0D Snake":"tetris"===tF?"\uD83E\uDDF1 Tetris":"\uD83C\uDFCE️ TempRush"}),(0,n.jsx)("button",{style:E.PV,onClick:()=>tL(null),"aria-label":"close",children:"\xd7"})]}),(0,n.jsx)("div",{style:{...E.S3,maxHeight:"86vh",display:"flex",justifyContent:"center",alignItems:"flex-start"},children:(0,n.jsxs)("div",{style:{zoom:.82},children:["snake"===tF&&(0,n.jsx)(q,{user:eR}),"tetris"===tF&&(0,n.jsx)(G,{user:eR}),"drive"===tF&&(0,n.jsx)(U,{user:eR})]})})]})}),"blackjack"===tF&&(()=>{var e,t;let l=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=e.includes("♥")||e.includes("♦");return{width:44,height:64,display:"grid",placeItems:"center",font:"700 18px ".concat(E.gx.num),...E.LQ(t?E.c.border:"#ffffff"),color:t?E.c.text:l?E.c.danger:E.c.textInk}},s=!tY||"done"===tY.phase;return(0,n.jsx)("div",{style:E.f5,onClick:()=>tL(null),children:(0,n.jsxs)("div",{style:{...E.rk,width:420},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{style:E.Hc,children:[(0,n.jsx)("h2",{style:E.GK,children:"\uD83C\uDCCF Blackjack"}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,n.jsxs)("span",{style:E.qS,children:[(0,n.jsx)("img",{src:"/feesh/sprites/ui/gem.png",width:16,height:16,alt:"gems",style:{imageRendering:"pixelated",display:"block"}}),(0,n.jsx)("span",{style:{color:E.c.success},children:Math.floor(nW).toLocaleString()})]}),(0,n.jsx)("button",{style:E.PV,onClick:()=>tL(null),"aria-label":"close",children:"\xd7"})]})]}),(0,n.jsxs)("div",{style:{...E.S3,display:"flex",flexDirection:"column",alignItems:"center",gap:E.xe.md},children:[(0,n.jsxs)("div",{style:{font:"600 12px ".concat(E.gx.display),letterSpacing:1,color:E.c.textMuted,textTransform:"uppercase"},children:["Dealer ",(null==tY?void 0:tY.dealerTotal)!=null?"\xb7 ".concat(tY.dealerTotal):""]}),(0,n.jsx)("div",{style:{display:"flex",gap:8,minHeight:64},children:(null!=(e=null==tY?void 0:tY.dealer)?e:["??","??"]).map((e,t)=>(0,n.jsx)("span",{className:M().dealIn,style:l(e,"??"===e),children:"??"===e?"\uD83C\uDCA0":e},t))}),(0,n.jsxs)("div",{style:{font:"600 12px ".concat(E.gx.display),letterSpacing:1,color:E.c.textMuted,textTransform:"uppercase"},children:["You ",tY?"\xb7 ".concat(tY.playerTotal):""]}),(0,n.jsxs)("div",{style:{display:"flex",gap:8,minHeight:64,alignItems:"center"},children:[(null!=(t=null==tY?void 0:tY.player)?t:[]).map((e,t)=>(0,n.jsx)("span",{className:M().dealIn,style:l(e),children:e},t)),!tY&&(0,n.jsx)("span",{style:{color:E.c.textMuted,fontFamily:E.gx.body,fontSize:13},children:"Place a bet and deal in."})]}),tU&&(0,n.jsx)("p",{style:{textAlign:"center",font:"700 14px ".concat(E.gx.display),color:E.c.accent,margin:0},children:tU}),s?(0,n.jsxs)("div",{style:{width:"100%",display:"grid",gap:E.xe.sm},children:[(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",fontFamily:E.gx.body,fontSize:12,color:E.c.textMuted},children:[(0,n.jsx)("span",{children:"Bet"}),(0,n.jsxs)("span",{style:{...E.Yp,color:E.c.text},children:[Math.min(Math.floor(nW),tq)," \uD83D\uDC8E"]})]}),(0,n.jsx)("div",{style:{display:"flex",gap:E.xe.sm},children:[10,50,200,1e3].map(e=>(0,n.jsx)("button",{onClick:()=>tG(e),disabled:nW<e,style:{flex:1,...tq===e?E.tB:E.zq,opacity:nW<e?.4:1,padding:"8px 4px"},children:e},e))}),(0,n.jsx)("button",{onClick:n1,disabled:nW<10,style:{...E.tB,opacity:nW<10?.5:1,width:"100%",padding:"12px"},children:"DEAL"})]}):(0,n.jsxs)("div",{style:{width:"100%",display:"flex",gap:E.xe.sm},children:[(0,n.jsx)("button",{onClick:n2,style:{...E.zq,flex:1,padding:"12px"},children:"HIT"}),(0,n.jsx)("button",{onClick:n4,style:{...E.tB,flex:1,padding:"12px"},children:"STAND"})]}),(0,n.jsx)("p",{style:{textAlign:"center",fontFamily:E.gx.body,fontSize:11,color:E.c.textMuted,margin:0},children:"Dealer stands on 17 \xb7 blackjack pays 3:2 \xb7 house edge keeps the lights on"})]})]})})})(),(0,n.jsx)("div",{className:"pointer-events-none absolute left-1/2 -translate-x-1/2",style:{display:"idle"!==nL?"none":void 0,bottom:eW?196:20,width:eW?"max-content":void 0,maxWidth:"calc(100% - 24px)"},children:(0,n.jsx)("div",{style:{...E.LQ("idle"===nL&&(eQ||eG&&nH&&nZ)?E.c.water:E.c.panelRaised),padding:eW?"6px 12px":"8px 16px",fontSize:eW?13:14,textAlign:"center",color:E.c.text,fontFamily:E.gx.display,fontWeight:600},children:sz})}),!l3&&sM.length>0&&!eW&&"charge"!==nL&&"casting"!==nL&&"live"!==nL&&!(eP&&"idle"!==nL)&&(0,n.jsx)("div",{className:"pointer-events-none absolute bottom-28 max-w-[46%] space-y-1",style:{left:eP?140:12},children:sM.map(e=>(0,n.jsx)("div",{className:"truncate",style:{...E.LQ(E.c.panel),padding:"2px 8px",fontFamily:E.gx.body,fontSize:12,color:E.c.text},children:e.message.replace(/\[br\]/gi," ").replace(/\[[^\]]*\]/g,"").trim()},e.id))}),(0,n.jsxs)("button",{onClick:()=>l5(e=>!e),title:l3?"Show activity feed":"Hide activity feed",className:"absolute bottom-16 z-20 flex items-center gap-1",style:{...E.LQ(E.c.panelRaised),left:eP?140:12,display:eW||"charge"===nL||"casting"===nL||"live"===nL||eP&&"idle"!==nL?"none":void 0,padding:"3px 10px",fontFamily:E.gx.display,fontSize:11,color:E.c.text,cursor:"pointer"},children:[l3?(0,n.jsx)(k,{className:"h-3.5 w-3.5"}):(0,n.jsx)(w.A,{className:"h-3.5 w-3.5"})," feed"]}),(0,n.jsx)("div",{className:"pointer-events-none absolute bottom-3 right-3",style:{...E.LQ(E.c.panel),padding:"3px 8px",fontFamily:E.gx.body,fontSize:11,color:E.c.textMuted,display:"idle"!==nL||eP?"none":void 0},children:"WASD / arrows to move \xb7 tap E to cast"}),eP&&"live"===nL&&(0,n.jsxs)("div",{className:"absolute bottom-3 left-0 right-0 z-20 flex items-end justify-between gap-2 px-3",style:{touchAction:"none"},children:[(0,n.jsx)("button",{style:{...E.zq,padding:"10px 12px",fontFamily:E.gx.body,fontWeight:800,fontSize:13,marginBottom:76},onPointerDown:e=>{e.preventDefault(),nF.cut()},children:"✂ cut"}),(0,n.jsxs)("button",{"data-testid":"fish-reel",style:{...E.tB,width:128,height:96,padding:0,fontFamily:E.gx.display,fontSize:18,lineHeight:1.05,touchAction:"none"},onPointerDown:e=>{var t,l;e.preventDefault(),null==(t=(l=e.currentTarget).setPointerCapture)||t.call(l,e.pointerId),nF.reel=!0},onPointerUp:()=>{nF.reel=!1},onPointerCancel:()=>{nF.reel=!1},children:["REEL",(0,n.jsx)("br",{}),(0,n.jsx)("span",{style:{fontSize:11,fontFamily:E.gx.body,fontWeight:700},children:"tap fast!"})]})]}),eP&&"idle"===nL&&null===tF&&(0,n.jsx)(ek,{}),sm&&"idle"===nL&&null===tF&&(()=>{var e,t,l,s,a,r,o,d;let u=null==eL||null==(e=eL.rods)?void 0:e.find(e=>e.name===sm.name),h=null!=(a=null==eL||null==(l=eL.lures)||null==(t=l.find(e=>e.name===sm.name))?void 0:t.price)?a:0,f="rod"===sm.kind?(0,Z.Zv)(null!=(r=null==u?void 0:u.price)?r:0,null!=(o=null==u?void 0:u.maxDurability)?o:100,null!=(d=null==nZ||null==(s=nZ.rodsOwned)?void 0:s[sm.name])?d:0):h;return(0,n.jsxs)("div",{className:"absolute left-1/2 top-24 z-30 flex -translate-x-1/2 flex-wrap items-center justify-center gap-2",style:{...E.LQ(E.c.panel),color:E.c.text,padding:"6px 10px",maxWidth:"calc(100% - 24px)",fontFamily:E.gx.body,fontSize:13},children:[(0,n.jsx)("span",{children:"rod"===sm.kind?(0,n.jsxs)(n.Fragment,{children:["Your ",(0,n.jsx)("b",{children:sm.name})," rod broke — it's kept (0 durability), you're on the Basic rod for now."]}):(0,n.jsxs)(n.Fragment,{children:["Your ",(0,n.jsx)("b",{children:sm.name})," lure is used up — you're back on the Basic lure."]})}),(0,n.jsxs)("button",{onClick:()=>{"rod"===sm.kind?null===i.sZ||void 0===i.sZ||i.sZ.emit("game:fish:repair",{item:sm.name,equip:!0}):null===i.sZ||void 0===i.sZ||i.sZ.emit("game:fish:lure-buy",{item:sm.name})},disabled:nW<f,style:{...nW<f?E.zq:E.tB,padding:"4px 10px",fontSize:12,opacity:nW<f?.5:1,display:"inline-flex",alignItems:"center",gap:4},children:["rod"===sm.kind?"Repair & equip":"Rebuy"," \xb7 ",(0,n.jsx)("span",{style:E.Yp,children:f})," \uD83D\uDC8E"]}),(0,n.jsx)("button",{"aria-label":"dismiss",onClick:()=>sg(null),style:{background:"none",border:"none",cursor:"pointer",color:E.c.textMuted,display:"grid",placeItems:"center"},children:(0,n.jsx)(c.A,{className:"h-4 w-4"})})]})})(),"about"===tF&&(0,n.jsx)("div",{style:E.f5,onClick:()=>tL(null),children:(0,n.jsxs)("div",{style:{...E.rk,width:460},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{style:E.Hc,children:[(0,n.jsx)("h2",{style:E.GK,children:"How to Play"}),(0,n.jsx)("button",{style:E.PV,onClick:()=>tL(null),"aria-label":"close",children:"\xd7"})]}),(0,n.jsxs)("div",{style:{...E.S3,fontFamily:E.gx.body,fontSize:13,lineHeight:1.5,color:E.c.text,display:"flex",flexDirection:"column",gap:E.xe.md},children:[(0,n.jsxs)("section",{children:[(0,n.jsx)("div",{style:{marginBottom:4,font:"700 12px ",letterSpacing:1,textTransform:"uppercase",color:E.c.accent},children:" The basics"}),(0,n.jsxs)("ul",{className:"space-y-1",children:[(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Move"})," — WASD / arrow keys."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Cast"})," — at the water's edge ",(0,n.jsx)("b",{children:"hold E"})," (or hold the mouse on the water): the power needle swings — ",(0,n.jsx)("b",{children:"release"})," to throw. Aim with the mouse or A / D. A longer cast reaches deeper water."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Bite"})," — watch the float. Little dips are nibbles: ",(0,n.jsx)("b",{children:"wait"}),". When it goes ",(0,n.jsx)("b",{children:"under"}),", strike (E / Space / click) — too early spooks it, too late and it steals the bait."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Fight"})," — hold E/Space to reel, keep the ",(0,n.jsx)("b",{children:"tension"})," gauge out of the red. Loosen the ",(0,n.jsx)("b",{children:"drag"})," (",(0,n.jsx)("b",{children:"["})," / ",(0,n.jsx)("b",{children:"]"})," or the wheel) when it runs, jumps or shakes its head; tighten when it tires. Big fish: ",(0,n.jsx)("b",{children:"pump"})," (hold Shift / right mouse) to lift, then reel down. Cranking while the drag screams twists your line weaker; a slack line lets it throw the hook."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Where you fish matters"})," — the ",(0,n.jsx)("b",{children:"lake"})," has its own freshwater fish (and a few lake legends) \xb7 the ",(0,n.jsx)("b",{children:"coast"})," is the sea from the beach and pier \xb7 ",(0,n.jsx)("b",{children:"offshore"})," (from the boat) holds the big blue-water fish."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Rent a boat"})," — at the pier end (",sF,"\uD83D\uDC8E, 3 min, sea only; cheaper as your angler level rises). Cast from the boat past the breakers and you're fishing ",(0,n.jsx)("b",{children:"offshore"}),": deeper blue water and bigger fish (checked by the server against your rental and position). Tap ",(0,n.jsx)("b",{children:"Step off"})," any time to return to the pier."]}
1)]})]}),(0,n.jsxs)("section",{children:[(0,n.jsx)("div",{style:{marginBottom:4,font:"700 12px ",letterSpacing:1,textTransform:"uppercase",color:E.c.accent},children:" How catches are calculated"}),(0,n.jsxs)("ul",{className:"space-y-1",children:[(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Depth"})," — short casts fish the shallows (quick bites, everyday fish); long casts reach the deep (slower bites, rarer and bigger fish, longer fights)."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Your rod is your tackle"})," — Basic 8 lb line \xb7 Advanced 12 lb \xb7 Elite 20 lb \xb7 Legendary 40 lb \xb7 Mythic 80 lb, with stronger reels and more line. A trophy on light line can snap you or strip the spool."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Pace"})," — each rod has a minimum time between casts (Basic 17s → Mythic 9s), counted from the cast — the bite and the fight usually fill it. Beer \xd70.6."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Lures"})," bias the rarity you hook (used up per cast); the shop colours each by the tier it targets."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Value"})," \uD83D\uDC8E rises by rarity across 7 tiers, and every fish is weighed: a bigger specimen of its species pays more (up to ~1.45\xd7 for a trophy). Snagged junk costs you tackle whether or not you wind it in."]})]})]}),(0,n.jsxs)("section",{children:[(0,n.jsx)("div",{style:{marginBottom:4,font:"700 12px ",letterSpacing:1,textTransform:"uppercase",color:E.c.accent},children:" Gems & your home"}),(0,n.jsxs)("ul",{className:"space-y-1",children:[(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Gems \uD83D\uDC8E are the only currency"})," — earn them by fishing; rarer and heavier catches pay more."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Spend at the Shop"})," — better rods & lures, a beer (faster casts) or weed, and the arcade & card games."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Your home"})," — buy and upgrade a house by the lake; it pays you ",(0,n.jsx)("b",{children:"dividends"})," from everyone's fishing, and costs ",(0,n.jsx)("b",{children:"upkeep"})," every 10 minutes while you play (shown in the House panel)."]})]})]}),(0,n.jsxs)("section",{children:[(0,n.jsx)("div",{style:{marginBottom:4,font:"700 12px ",letterSpacing:1,textTransform:"uppercase",color:E.c.accent},children:" Together"}),(0,n.jsxs)("ul",{className:"space-y-1",children:[(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Lake goals"})," — a rotating shared goal everyone fills together (top-left HUD): catch N fish, land N Epic+ catches, reel in N ocean fish, etc. When it fills, a gem ",(0,n.jsx)("b",{children:"pool is split by how much you contributed"})," — do more of the work, get a bigger share — then a ",(0,n.jsx)("b",{children:"new, different goal"})," begins. (Golden Hour counts your contribution 2\xd7.)"]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Duel"})," — walk up to a player, stake gems, winner takes the pot."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Paired emotes"})," (high-five / hug / fist-bump) near someone give ",(0,n.jsx)("b",{children:"both"})," +2 friendship gems (once a minute)."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Sit by the fire"})," (F) to rest for +1\uD83D\uDC8E/min; ",(0,n.jsx)("b",{children:"watch a movie"})," together on the big screen."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Cook & sell"})," — after a day's fishing, stand at the ",(0,n.jsx)("b",{children:"campfire"})," and press ",(0,n.jsx)("b",{children:"C"})," to cook & sell your catch (+25–40\uD83D\uDC8E, about once every 90s)."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Gift"})," — walk up to another angler and press ",(0,n.jsx)("b",{children:"G"})," to gift them 25\uD83D\uDC8E (sent straight from your wallet — be a legend)."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Fish Journal"})," — all ",b.TA.length," fish, saved to your account: silhouettes for the ones you haven't met (with hints), your records, the server records and this week's heaviest. Filling it pays one-time rewards at 10 / 25 / 50 / 75 / 100%."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Time & weather"})," — a day lasts 24 minutes and the weather turns every 15–30. Each fish has its hours, weather and depth; ",(0,n.jsx)("b",{children:"What's biting"})," (top-left) shows three that are in their element right now."]}),(0,n.jsxs)("li",{children:[(0,n.jsx)("b",{children:"Angler level"})," — every catch earns XP (rarer and bigger = more). Levels unlock tackle-box lure slots, a boat discount, sharper journal hints and titles. ",(0,n.jsx)("b",{children:"Feedback"})," (bottom-left) — good ideas earn 2,500\uD83D\uDC8E."]})]})]})]})]})}),nP&&(()=>{var e,t,l,s,i,a,r;let c=nP.items.reduce((e,t)=>
1!e||P(e)&&!P(t)||!P(t)&&t.value>e.value?t:e,null),d=null!=(t=null==c?void 0:c.rarity)?t:"Common",u=nP.trash,h=null!=(l=y.nt[d])?l:"#ffffff",f=es.indexOf(d),p=!!c&&!P(c),m=p&&(null!=(s=null==c?void 0:c.percentile)?s:0)>=.97,g=nP.journal,b=p&&!!(null==c?void 0:c.id)&&!!(null==g||null==(e=g.newIds)?void 0:e.includes(c.id)),v=p?b?"NEW!":nY?"PERSONAL BEST":m?"TROPHY":null:null;return(0,n.jsxs)("div",{className:"pointer-events-none absolute right-4 top-1/2 z-30 -translate-y-1/2 sm:right-8",children:[p&&f>=3&&na&&(0,n.jsx)("div",{className:"absolute -inset-x-24 -top-24 h-[420px] overflow-hidden",children:Array.from({length:f>=5?28:16}).map((e,t)=>(0,n.jsx)("span",{className:(0,o.cn)("absolute text-base",M().confetti),style:{left:"".concat((47*t+7)%100,"%"),top:"-4%",animationDuration:"".concat(1.3+t%5*.3,"s"),animationDelay:"".concat(t%7*.07,"s")},children:["✨","\uD83D\uDC8E","⭐","\uD83D\uDC1F"][t%4]},t))}),(0,n.jsxs)("div",{"data-testid":"catch-reveal",className:(0,o.cn)(M().catchCard),style:{...E.LQ(E.c.panel),position:"relative",width:280,textAlign:"center",color:E.c.text,padding:"14px 18px 16px",border:"2px solid ".concat(p?h:E.c.border),boxShadow:"0 0 0 2px ".concat(E.c.borderDark,", 0 0 ").concat(10+6*f,"px ").concat(h).concat(f>=3?"88":"44")},children:[(0,n.jsx)("div",{style:{fontFamily:E.gx.display,fontSize:11,letterSpacing:"0.18em",textTransform:"uppercase",color:p?h:E.c.textMuted},children:p?"".concat(d," catch"):"You hauled out some trash"}),(0,n.jsxs)("div",{style:{position:"relative",height:132,display:"flex",alignItems:"center",justifyContent:"center"},children:[p&&(0,n.jsx)("div",{className:M().revealRays,style:{background:"conic-gradient(from 0deg, ".concat(h,"00, ").concat(h,"55, ").concat(h,"00 20%, ").concat(h,"55 30%, ").concat(h,"00 45%, ").concat(h,"55 60%, ").concat(h,"00 75%, ").concat(h,"55 88%, ").concat(h,"00)")}}),(0,n.jsx)("div",{className:f>=4?M().trophyFloat:void 0,style:{position:"relative"},children:(0,n.jsx)(x.O,{rarity:d,name:null!=(i=null==c?void 0:c.name)?i:"",fishId:null==c?void 0:c.id,spriteKey:null==c?void 0:c.key,art:null==c?void 0:c.art,value:c&&P(c)?-1:null!=(a=null==c?void 0:c.value)?a:1,size:118})}),v&&(0,n.jsx)("div",{className:M().revealStamp,style:{position:"absolute",right:-6,top:8,padding:"3px 7px",font:"800 10px ".concat(E.gx.display),letterSpacing:"0.12em",color:"#1a1109",background:"TROPHY"===v?"#ffe26b":"NEW!"===v?"#7fd3ff":"#8cf09a",border:"2px solid ".concat(E.c.borderDark)},children:v})]}),nP.items.map((e,t)=>(0,n.jsxs)("div",{style:{marginTop:8*!!t},children:[(0,n.jsx)("div",{"data-testid":"catch-species",className:eo(e.rarity),style:{fontFamily:E.gx.display,fontSize:19,fontWeight:700,lineHeight:1.15},children:!P(e)&&e.species?W(e.species):e.name}),!P(e)&&e.species&&(0,n.jsxs)("div",{"data-testid":"catch-nickname",style:{fontFamily:E.gx.body,fontSize:12,fontStyle:"italic",color:E.c.textMuted},children:["“",e.name,"”"]}),!P(e)&&e.weight?(0,n.jsxs)("div",{className:"mt-2 flex justify-center gap-2",children:[(0,n.jsxs)("div",{style:{...E.LQ(E.c.bg),padding:"4px 10px",minWidth:74},children:[(0,n.jsxs)("div",{style:{...E.Yp,fontSize:17,color:E.c.text},children:[e.weight>=100?Math.round(e.weight):e.weight.toFixed(e.weight<10?2:1)," lb"]}),(0,n.jsx)("div",{style:{fontFamily:E.gx.body,fontSize:10,color:E.c.textMuted},children:"weight"})]}),(0,n.jsxs)("div",{style:{...E.LQ(E.c.bg),padding:"4px 10px",minWidth:74},children:[(0,n.jsx)("div",{style:{...E.Yp,fontSize:17,color:E.c.text},children:e.length?"".concat(e.length.toFixed(1)," in"):"—"}),(0,n.jsx)("div",{style:{fontFamily:E.gx.body,fontSize:10,color:E.c.textMuted},children:"length"})]})]}):null]},t)),p||nP.value>0?(0,n.jsxs)("div",{className:"mt-3",style:{...E.Yp,fontSize:22,color:nP.value>=0?E.c.success:E.c.danger},children:[nP.value>=0?"+":"",nP.value," \uD83D\uDC8E"]}):(0,n.jsxs)("div",{className:"mt-3",style:{font:"700 13px ".concat(E.gx.display),color:"#8fe3ff"},children:["+",null!=(r=null==u?void 0:u.xp)?r:2," XP \xb7 the water’s a little cleaner",u?(0,n.jsxs)("div",{style:{fontFamily:E.gx.body,fontWeight:400,fontSize:11,color:E.c.textMuted},children:["trash collected: ",u.count]}):null]}),p&&g&&(g.xp>0||b)?(0,n.jsxs)("div",{style:{font:"700 11px ".concat(E.gx.display),color:"#8fe3ff",letterSpacing:"0.04em"}
1,children:["+",g.xp," XP",b?" \xb7 new to your journal":""]}):null,(null==g?void 0:g.milestone)?(0,n.jsxs)("div",{style:{marginTop:4,font:"700 11px ".concat(E.gx.display),color:E.c.coin},children:["⭐ ",g.milestone.label,"! +",g.milestone.gems.toLocaleString()," \uD83D\uDC8E"]}):null,p&&(null==c?void 0:c.percentile)!=null?(0,n.jsx)("div",{style:{fontFamily:E.gx.body,fontSize:11,color:c.percentile>=.85?E.c.accent:E.c.textMuted},children:c.percentile>=.97?"a trophy specimen — top 3% of its kind":c.percentile>=.85?"a big one for its kind":c.percentile>=.55?"a good-sized one":c.percentile>=.25?"about average size":"a little one"}):null]})]})})(),no&&(0,n.jsx)("div",{className:"pointer-events-none absolute left-1/2 top-16 z-20 -translate-x-1/2",children:(0,n.jsx)("div",{className:(0,o.cn)(M().catchCard),style:{...E.LQ(E.c.panel),padding:"6px 16px",font:"700 14px ".concat(E.gx.display),color:E.c.accent},children:no})}),t4.length>0&&(0,n.jsx)("div",{className:"pointer-events-none absolute bottom-20 left-3 z-20 flex flex-col gap-1.5",children:t4.map(e=>(0,n.jsxs)("div",{className:(0,o.cn)("flex items-center gap-2",M().catchCard),style:{...E.LQ(E.c.panel),padding:"4px 12px",fontFamily:E.gx.body,fontSize:12,color:E.c.text},children:[e.art?(0,n.jsx)(x.O,{rarity:e.rarity,name:e.nick||e.label,art:e.art,value:1,size:22}):(0,n.jsx)("span",{children:"\uD83C\uDF89"}),(0,n.jsx)("span",{style:{fontFamily:E.gx.display,fontWeight:600},children:e.name}),(0,n.jsx)("span",{style:{color:E.c.textMuted},children:e.hooked?"hooked":"landed a"}),(0,n.jsx)("span",{className:(0,o.cn)("font-bold",eo(e.rarity)),style:{fontFamily:E.gx.display},children:e.label}),e.nick?(0,n.jsxs)("span",{style:{color:E.c.textMuted,fontStyle:"italic"},children:["“",e.nick,"”"]}):null]},e.id))}),"journal"===tF&&(0,n.jsx)(ee,{entries:tV.entries,angler:tV.angler,fishRecords:tV.fishRecords,records:tV.records,fresh:tV.fresh,onFish:tV.requestFish,onRecords:tV.requestRecords,onClose:()=>{tL(null),tJ(null)},initialFish:tK,narrow:eW}),"journal"===tF&&tV.journalError&&(0,n.jsx)("div",{className:"pointer-events-none absolute left-1/2 top-6 z-[60] -translate-x-1/2",style:{...E.LQ(E.c.danger),color:"#fff",padding:"6px 14px",font:"700 13px ".concat(E.gx.display)},children:tV.journalError}),nU&&l8&&(0,n.jsx)(en,{drop:l8,top:(eW?168:70)+(sm&&"idle"===nL?80:0),onClose:()=>l6(null),onOpen:()=>{l6(null),lz(!0)}}),!nP&&!nU&&"live"!==nL&&(null==nl?void 0:nl.kind)==="level"&&(0,n.jsx)(y.KS,{levelUp:nl.level,top:(eW?168:70)+(sm&&"idle"===nL?80:0)}),!nP&&!nU&&"live"!==nL&&(null==nl?void 0:nl.kind)==="record"&&(0,n.jsx)(y.g,{news:nl.record,top:(eW?168:70)+(sm&&"idle"===nL?80:0)}),"fight"===tF&&lN&&(0,n.jsx)(V,{start:lN,onClose:()=>{tL(null),lA(null)},playSfx:nR,onRematch:"pvp"===lN.mode?()=>null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("feesh:dojo:rematch"):"ai"===lN.mode&&"qa-demo"!==lN.sparId?()=>{var e,t;return null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("feesh:fight:spar",{difficulty:null!=(e=lN.diff)?e:"normal",fighter:null!=(t=lN.fighter)?t:e8})}:"ai"===lN.mode?()=>{e9(e=>e+1)}:void 0},"".concat(lN.mode,"-").concat(null!=(eA=null!=(eN=lN.matchId)?eN:lN.sparId)?eA:"","-").concat(null!=(eI=lN.seed)?eI:"","-").concat(e7)),"reef"===tF&&lI&&(0,n.jsx)(J,{start:lI,onClose:()=>{tL(null),lM(null)}},l_.current),"poker"===tF&&(0,n.jsx)(Q,{state:lr.state,hole:lr.hole,mySeat:lr.mySeat,gems:Math.floor(nW),chats:eZ,error:lr.error,realSeated:lr.realSeated,onSit:lr.actions.sit,onAction:lr.actions.action,onTopUp:lr.actions.topUp,onDeal:nI,onShuffle:nM,onMuck:lr.actions.muck,onMyTurn:n_,onLeave:lr.actions.leave,onInvite:lr.actions.invite,onPractice:lr.actions.practice,onLeavePractice:lr.actions.leavePractice,onClose:()=>tL(null),onTourneyCreate:lr.actions.tourneyCreate,onTourneyRegister:lr.actions.tourneyRegister,onTourneyUnregister:lr.actions.tourneyUnregister,onTourneyStart:lr.actions.tourneyStart,onTourneyCancel:lr.actions.tourneyCancel,onTourneyInvite:lr.actions.tourneyInvite,onTourneyWatch:lr.actions.tourneyWatch}),"character"===tF&&(()=>{let{animal:e,color:t}=(0,f.In)(t6),l={marginBottom:6,font:"600 11px ".concat(E.gx.display),letterSpacing:1,textTransform:"uppercase",color:E.c.textMuted};return(0,n.jsx)("div",{style:E.f5,onClick:()=>tL(null),children:(0,n.jsxs)("div",{style:{...E.rk,width:340},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{style:E.Hc,children:[(0,n.jsx)("h2",{style:E.GK,children:"Your Character"}),(0,n.jsx)("button",{style:E.PV,onClick:()=>tL(null),"aria-label":"close",children:"\xd7"})]}),(0,n.jsxs)("div",{style:E.S3,children:[(0,n.jsxs)("div",{style:{marginBottom:E.xe.md,display:"flex",alignItems:"center",gap:E.xe.md,...E.LQ(E.c.panelRaised),padding:E.xe.md},children:[(0,n.jsx)("span",{style:{display:"grid",placeItems:"center",height:48,width:48,fontSize:30,...E.LQ(f.lm[t].skin)},children:f.YQ[e].emoji}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{font:"600 15px ".concat(E.gx.display),color:E.c.text},children:[f.lm[t].name," ",f.YQ[e].name]}),(0,n.jsx)("div",{style:{fontFamily:E.gx.body,fontSize:11,color:E.c.textMuted},children:eB}
1)]})]}),(0,n.jsx)("p",{style:l,children:"Animal"}),(0,n.jsx)("div",{style:{marginBottom:E.xe.md,display:"grid",gridTemplateColumns:"1fr 1fr 1fr",gap:E.xe.sm},children:f.YQ.map((l,s)=>(0,n.jsxs)("button",{onClick:()=>t7((0,f.C6)(s,t)),style:{display:"flex",flexDirection:"column",alignItems:"center",gap:4,padding:E.xe.sm,cursor:"pointer",color:E.c.text,...E.LQ(e===s?E.c.accent:E.c.panelRaised)},children:[(0,n.jsx)("span",{style:{fontSize:22},children:l.emoji}),(0,n.jsx)("span",{style:{fontSize:11,fontFamily:E.gx.body,color:e===s?E.c.textInk:E.c.text},children:l.name})]},s))}),(0,n.jsx)("p",{style:l,children:"Color"}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(6, 1fr)",gap:E.xe.sm},children:f.lm.map((l,s)=>(0,n.jsx)("button",{onClick:()=>t7((0,f.C6)(e,s)),title:l.name,style:{height:32,width:"100%",cursor:"pointer",...E.LQ(l.body),boxShadow:t===s?"0 0 0 2px ".concat(E.c.borderDark,", 0 0 0 4px ").concat(E.c.accent):"0 0 0 2px ".concat(E.c.borderDark)}},s))})]})]})})})(),"gear"===tF&&(()=>{let e=s_<=25?E.c.danger:s_<=50?E.c.accent:E.c.success,t={color:E.c.textMuted,fontFamily:E.gx.body},l={marginBottom:4,font:"600 11px ".concat(E.gx.display),letterSpacing:1,textTransform:"uppercase",color:E.c.textMuted},s={...E.zq,padding:"3px 10px",fontSize:12},a={display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 0",fontSize:12,fontFamily:E.gx.body,color:E.c.text};return(0,n.jsx)("div",{style:E.f5,onClick:()=>tL(null),children:(0,n.jsxs)("div",{style:{...E.rk,width:340},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{style:E.Hc,children:[(0,n.jsx)("h2",{style:E.GK,children:"Your Gear"}),(0,n.jsx)("button",{style:E.PV,onClick:()=>tL(null),"aria-label":"close",children:"\xd7"})]}),(0,n.jsx)("div",{style:E.S3,children:nZ?(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:E.xe.md,fontFamily:E.gx.body,fontSize:14,color:E.c.text},children:[(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between"},children:[(0,n.jsx)("span",{style:t,children:"Rod"}),(0,n.jsx)("span",{children:nZ.rod.name})]}),(0,n.jsxs)("div",{children:[(0,n.jsxs)("div",{style:{marginBottom:4,display:"flex",justifyContent:"space-between"},children:[(0,n.jsx)("span",{style:t,children:"Durability"}),(0,n.jsxs)("span",{style:{color:e,...E.Yp,fontSize:13},children:[nZ.rodDurability,"/",nZ.rod.maxDurability,nZ.rod.price>0?" \xb7 ~".concat(nZ.rodDurability," casts left"):" \xb7 unbreakable"]})]}),(0,n.jsx)("div",{style:{height:6,width:"100%",background:E.c.borderDark},children:(0,n.jsx)("div",{style:{height:"100%",background:e,width:"".concat(s_,"%")}})}),(0,Z.Fc)(nZ.rod.maxDurability,nZ.rodDurability)&&nZ.rod.price>0&&(0,n.jsxs)("button",{onClick:sC,style:{marginTop:E.xe.sm,...E.zq,display:"inline-flex",alignItems:"center",gap:6,padding:"4px 10px",fontSize:12},children:[(0,n.jsx)(u,{className:"h-3.5 w-3.5"})," Repair (",sR," \uD83D\uDC8E)"]})]}),(0,n.jsxs)("div",{style:{display:"flex",justifyContent:"space-between"},children:[(0,n.jsx)("span",{style:t,children:"Lure"}),(0,n.jsxs)("span",{children:[(0,n.jsxs)("span",{style:{color:ed(nZ.lure.name).color},children:[(0,n.jsx)(eh,{name:nZ.lure.name})," ",nZ.lure.name]}),nZ.lureMaxUsage>0?(0,n.jsxs)("span",{style:{color:nZ.lureMaxUsage-nZ.lureUsage<=3?E.c.accent:E.c.textMuted},children:[" (",nZ.lureUsage,"/",nZ.lureMaxUsage,")"]}):""]})]}),(()=>{var e;let t=Object.entries(null!=(e=nZ.rodsOwned)?e:{}).filter(e=>{let[t]=e;return t!==nZ.rod.name&&"Basic"!==t});return 0===t.length&&"Basic"===nZ.rod.name?null:(0,n.jsxs)("div",{style:{borderTop:"1px solid ".concat(E.c.borderDark),paddingTop:E.xe.sm},children:[(0,n.jsx)("div",{style:l,children:"Your rods"}),"Basic"!==nZ.rod.name&&(0,n.jsx)("div",{style:a,children:(0,n.jsxs)("span",{style:{color:E.c.accent},children:[nZ.rod.name," ",(0,n.jsx)("span",{style:{color:E.c.textMuted},children:"\xb7 equipped"})]})}),t.map(e=>{var t;let[l,r]=e,o=null==eL||null==(t=eL.rods)?void 0:t.find(e=>e.name===l),c=!!o&&o.price>0&&(0,Z.Fc)(o.maxDurability,r),d=o?(0,Z.Zv)(o.price,o.maxDurability,r):0;return(0,n.jsxs)("div",{style:a,children:[(0,n.jsxs)("span",{children:[l," ",(0,n.jsxs)("span",{style:{color:r<=0?E.c.danger:E.c.textMuted},children:["\xb7 ",r<=0?"broken":"".concat(r," dur")]})]}),(0,n.jsxs)("span",{style:{display:"inline-flex",gap:6},children:[c&&(0,n.jsxs)("button",{"data-testid":"gear-repair-".concat(l),onClick:()=>null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("game:fish:repair",{item:l,equip:!0}),disabled:nW<d,title:nW<d?"Repairing costs ".concat(d," gems"):"Repair to full and equip",style:{...nW<d?E.zq:E.tB,padding:"3px 10px",fontSize:12,opacity:nW<d?.5:1,display:"inline-flex",alignItems:"center",gap:4},children:[(0,n.jsx)(u,{className:"h-3 w-3"})," Repair \xb7 ",(0,n.jsx)("span",{style:E.Yp,children:d})," \uD83D\uDC8E"]}),r>0&&(0,n.jsx)("button",{onClick:()=>sT(l),style:s,children:"Equip"})]})]},l)}),"Basic"!==nZ.rod.name&&(0,n.jsxs)("div",{style:a,children:[(0,n.jsx)("span",{style:{color:E.c.textMuted},children:"Basic rod \xb7 free"}),(0,n.jsx)("button",{onClick:()=>sT("Basic"),style:s,children:"Equip"})]})]})})(),(()=>{var e;let t=Object.entries(null!=(e=nZ.luresOwned)?e:{}).filter(e=>{let[t]=e;return t!==nZ.lure.name&&"Basic"!==t});return 0===t.length&&"Basic"===nZ.lure.name?null:(0,n.jsxs)("div",{style:{borderTop:"1px solid ".concat(E.c.borderDark),paddingTop:E.xe.sm},children:[(0,n.jsx)("div",{style:l,children:"Your lures"}),"Basic"!==nZ.lure.name&&(0,n.jsx)("div",{style:a,children:(0,n.jsxs)("span",{style:{color:ed(nZ.lure.name).color},children:[(0,n.jsx)(eh,{name:nZ.lure.name})," ",nZ.lure.name," ",(0,n.jsx)("span",{style:{color:E.c.textMuted},children:"\xb7 equipped"})]})}),t.map(e=>{let[t,l]=e;return(0,n.jsxs)("div",{style:a,children:[(0,n.jsxs)("span",{style:{color:ed(t).color},children:[(0,n.jsx)(eh,{name:t})," ",t," ",(0,n.jsxs)("span",{style:{color:E.c.textMuted},children:["\xb7 ",l," left"]})]}),(0,n.jsx)("button",{onClick:()=>sN(t),style:s,children:"Equip"})]},t)}),"Basic"!==nZ.lure.name&&(0,n.jsxs)("div",{style:a,children:[(0,n.jsx)("span",{style:{color:E.c.textMuted},children:"Basic lure \xb7 free"}),(0,n.jsx)("button",{onClick:()=>sN("Basic"),style:s,children:"Equip"})]})]})})()]}):(0,n.jsx)("p",{style:{color:E.c.textMuted,fontFamily:E.gx.body},children:"Getting your rod ready… you start with a Basic rod."})})]})})})(),"rods"===tF&&(0,n.jsx)("div",{style:E.f5,onClick:()=>tL(null),children:(0,n.jsxs)("div",{style:{...E.rk,width:560},onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{style:E.Hc,children:[(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,n.jsx)("button",{style:E.zq,onClick:()=>tL("shop"),children:"← Shop"}),(0,n.jsx)("h2",{style:E.GK,children:"Bait & Tackle"})]}),(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[(0,n.jsxs)("span",{style:E.qS,children:[(0,n.jsx)("img",{src:"/feesh/sprites/ui/gem.png",width:16,height:16,alt:"gems",style:{imageRendering:"pixelated",display:"block"}}),(0,n.jsx)("span",{style:{color:E.c.success}
1,children:Math.floor(nW).toLocaleString()})]}),(0,n.jsx)("button",{style:E.PV,onClick:()=>tL(null),"aria-label":"close",children:"\xd7"})]})]}),(0,n.jsx)("div",{style:E.S3,children:eL?(0,n.jsxs)("div",{style:{display:"grid",gap:E.xe.lg},children:[(0,n.jsxs)("div",{style:{...E.LQ(E.c.bg),padding:E.xe.md},children:[(0,n.jsx)("div",{style:{font:"600 12px ".concat(E.gx.display),letterSpacing:1,textTransform:"uppercase",color:E.c.textMuted,marginBottom:E.xe.sm},children:"Rods on the wall"}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:E.xe.sm},children:eL.rods.map(e=>{var t,l,s;let a=(null==nZ?void 0:nZ.rod.name)===e.name,r=a||"Basic"===e.name||e.name in(null!=(l=null==nZ?void 0:nZ.rodsOwned)?l:{}),o=nW>=e.price,c=(0,Z.Db)(e.name),d=c.cycle,u=d<nz;return(0,n.jsxs)("button",{"data-testid":"rod-".concat(e.name),disabled:a||!r&&!o,onClick:()=>{let t;return r?sT(e.name):(t=e.name,null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("game:fish:rod-buy",{item:t}))},style:{...E.LQ(a?E.c.bg:E.c.panelRaised),display:"flex",flexDirection:"column",alignItems:"flex-start",gap:2,padding:E.xe.sm,textAlign:"left",cursor:!a&&(r||o)?"pointer":"default",color:E.c.text,opacity:a||r||o?1:.7},children:[(0,n.jsx)("span",{style:{font:"600 14px ".concat(E.gx.display)},children:e.name}),(0,n.jsxs)("span",{style:{fontFamily:E.gx.body,fontSize:12,color:E.c.textMuted},children:[c.lineTest," lb line \xb7 ",c.spool," m \xb7 ",c.castMax," m cast"]}),(0,n.jsxs)("span",{style:{fontFamily:E.gx.body,fontSize:12,color:E.c.textMuted},children:["⏱ ",d,"s per cast",u&&!a?(0,n.jsxs)("span",{style:{color:E.c.success},children:[" ↓ from ",nz,"s"]}):null]}),a?(0,n.jsx)("span",{style:{font:"600 12px ".concat(E.gx.display),color:E.c.success},children:"Equipped"}):r?(0,n.jsxs)("span",{style:{font:"600 12px ".concat(E.gx.display),color:E.c.text},children:["Owned",(null!=(s=null==nZ||null==(t=nZ.rodsOwned)?void 0:t[e.name])?s:1)<=0?" \xb7 broken":""," \xb7 ",(0,n.jsx)("span",{style:{color:E.c.accent},children:"Equip"})]}):o?(0,n.jsxs)("span",{style:{...E.Yp,color:E.c.accent,fontSize:13},children:["\uD83D\uDC8E ",e.price.toLocaleString()]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{style:{...E.Yp,color:E.c.textMuted,fontSize:12},children:[Math.floor(nW).toLocaleString(),"/",e.price.toLocaleString()," \uD83D\uDC8E"]}),(0,n.jsx)("span",{style:{height:4,width:"100%",background:E.c.borderDark},children:(0,n.jsx)("span",{style:{display:"block",height:"100%",background:E.c.accent,width:"".concat(Math.min(100,nW/e.price*100),"%")}})})]})]},e.name)})})]}),(0,n.jsxs)("div",{style:{...E.LQ(E.c.bg),padding:E.xe.md},children:[(0,n.jsx)("div",{style:{font:"600 12px ".concat(E.gx.display),letterSpacing:1,textTransform:"uppercase",color:E.c.textMuted,marginBottom:E.xe.sm},children:"Lures in the case"}),(0,n.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(150px, 1fr))",gap:E.xe.sm},children:eL.lures.map(e=>{let t=nW>=e.price;return(0,n.jsxs)("button",{disabled:!t,onClick:()=>{let t;return t=e.name,null===i.sZ||void 0===i.sZ?void 0:i.sZ.emit("game:fish:lure-buy",{item:t})},style:{...E.LQ(E.c.panelRaised),display:"flex",flexDirection:"column",alignItems:"flex-start",gap:2,padding:E.xe.sm,textAlign:"left",cursor:t?"pointer":"default",color:E.c.text,opacity:t?1:.7},children:[(0,n.jsx)("span",{style:{fontSize:18,filter:"drop-shadow(0 0 4px ".concat(ed(e.name).color,")")},children:(0,n.jsx)(eh,{name:e.name,size:20})}),(0,n.jsxs)("span",{style:{font:"600 13px ".concat(E.gx.display),color:ed(e.name).color},children:[e.name,e.usages?" \xd7".concat(e.usages):""]}),t?(0,n.jsxs)("span",{style:{...E.Yp,color:E.c.accent,fontSize:13},children:["\uD83D\uDC8E ",e.price.toLocaleString()]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{style:{...E.Yp,color:E.c.textMuted,fontSize:12},children:[Math.floor(nW).toLocaleString(),"/",e.price.toLocaleString()," \uD83D\uDC8E"]}),(0,n.jsx)("span",{style:{height:4,width:"100%",background:E.c.borderDark},children:(0,n.jsx)("span",{style:{display:"block",height:"100%",background:E.c.accent,width:"".concat(Math.min(100,nW/e.price*100),"%")}})})]})]},e.name)})})]}),nZ&&(0,Z.Fc)(nZ.rod.maxDurability,nZ.rodDurability)&&nZ.rod.price>0&&(0,n.jsxs)("button",{onClick:sC,style:{...E.zq,alignSelf:"flex-start",display:"inline-flex",alignItems:"center",gap:6},children:[(0,n.jsx)(u,{className:"h-3.5 w-3.5"})," Repair rod (",sR," \uD83D\uDC8E)"]})]}):(0,n.jsx)("p",{style:{color:E.c.textMuted,fontFamily:E.gx.body},children:"The shopkeeper is restocking…"})})]})})]})}},40071:(e,t,l)=>{"use strict";l.d(t,{HB:()=>r,Ri:()=>s,iL:()=>o,oF:()=>n,re:()=>i,tT:()=>a});let n=[{tier:1,name:"Tent",price:1e3,rent:20,divWeight:1},{tier:2,name:"Shack",price:5e3,rent:50,divWeight:3},{tier:3,name:"Cabin",price:25e3,rent:100,divWeight:7},{tier:4,name:"Lodge",price:1e5,rent:180,divWeight:16},{tier:5,name:"Manor",price:4e5,rent:300,divWeight:36}],s=e=>Math.floor(.6*n.filter(t=>t.tier<=e).reduce((e,t)=>
1e+t.price,0)),i=[{id:1,name:"Ball Cap",emoji:"\uD83E\uDDE2",price:250},{id:2,name:"Scholar Cap",emoji:"\uD83C\uDF93",price:600},{id:3,name:"Rescue Helmet",emoji:"⛑️",price:900},{id:4,name:"Ladies Hat",emoji:"\uD83D\uDC52",price:1500},{id:5,name:"Top Hat",emoji:"\uD83C\uDFA9",price:3e3},{id:6,name:"Octopus Hat",emoji:"\uD83D\uDC19",price:5e3},{id:7,name:"Gold Crown",emoji:"\uD83D\uDC51",price:12e3}],a=Object.fromEntries(i.map(e=>[e.id,e.emoji])),r={beer:{price:110,buff:"buzzed",durationMs:12e4,label:"\uD83C\uDF7A Beer"},weed:{price:80,buff:"baked",durationMs:12e4,label:"\uD83C\uDF3F Joint"}},o={easy:{fee:0,pay:25,cap:1},normal:{fee:25,pay:40,cap:10},hard:{fee:50,pay:90,cap:10}}},58805:(e,t,l)=>{"use strict";l.d(t,{ZT:()=>i,bI:()=>a,uW:()=>r});var n=l(66857);function s(){let e=window.visualViewport;return e?{left:e.offsetLeft,top:e.offsetTop,width:e.width,height:e.height}:{left:0,top:0,width:window.innerWidth,height:window.innerHeight}}function i(){let[e,t]=(0,n.useState)(s);return(0,n.useEffect)(()=>{let e=0,l=()=>{cancelAnimationFrame(e),e=requestAnimationFrame(()=>t(e=>{let t=s();return t&&e&&t.left===e.left&&t.top===e.top&&t.width===e.width&&t.height===e.height?e:t}))};l();let n=window.visualViewport;return null==n||n.addEventListener("resize",l),null==n||n.addEventListener("scroll",l),window.addEventListener("resize",l),()=>{cancelAnimationFrame(e),null==n||n.removeEventListener("resize",l),null==n||n.removeEventListener("scroll",l),window.removeEventListener("resize",l)}},[]),e}function a(e){return e?{position:"fixed",inset:void 0,left:e.left,top:e.top,width:e.width,height:e.height}:{position:"fixed",inset:0}}function r(e){let{style:t,onClick:l,children:s,testId:r}=e,o=i();return(0,n.createElement)("div",{"data-testid":r,style:{...t,...a(o)},onClick:l},s)}},66382:e=>{e.exports={scene:"fishing_scene__CWo1V",celestial:"fishing_celestial__wDAMH",bob:"fishing_bob__fQvvk",stars:"fishing_stars__0qMBl",star:"fishing_star__Ju3ea",twinkle:"fishing_twinkle__mlusj",water:"fishing_water__0V4_C",shimmer:"fishing_shimmer__fQS4F",waveTop:"fishing_waveTop__SZ9B3",drift:"fishing_drift__szm_t",dock:"fishing_dock__P8n77",angler:"fishing_angler__mynSj",line:"fishing_line__jO_6Y",bobber:"fishing_bobber__xRSCv",tug:"fishing_tug__Na0S3",rain:"fishing_rain__LsBAS",drop:"fishing_drop__t__S_",fall:"fishing_fall__CAdTF",cloud:"fishing_cloud__p90Zl",floatX:"fishing_floatX__CMYHQ",catchCard:"fishing_catchCard__A7IP2",pop:"fishing_pop__W59GO",sparkle:"fishing_sparkle__wajcN",celebrateBanner:"fishing_celebrateBanner__fYqXD",feeshBannerIn:"fishing_feeshBannerIn__lJ24o",celebrateGlow:"fishing_celebrateGlow__wCTLY",feeshCelebGlow:"fishing_feeshCelebGlow__RdkHP",confetti:"fishing_confetti__7jYoG",feeshConfetti:"fishing_feeshConfetti__VWrHX",trophyFloat:"fishing_trophyFloat__U1sOa",feeshTrophyFloat:"fishing_feeshTrophyFloat__xyQel",walletPop:"fishing_walletPop__kwOMh",feeshWalletPop:"fishing_feeshWalletPop__YQTc8",introFade:"fishing_introFade__KEbpc",feeshIntroOut:"fishing_feeshIntroOut__6qV5h",introTitle:"fishing_introTitle__na4Un",feeshTitleIn:"fishing_feeshTitleIn__XzHsz",introFish:"fishing_introFish__8fwXy",feeshBreach:"fishing_feeshBreach__HdmrK",trippyOverlay:"fishing_trippyOverlay__eHAmH",feeshTrippyHue:"fishing_feeshTrippyHue__O_NJP",feeshWobble:"fishing_feeshWobble__2bE8_",drunkOverlay:"fishing_drunkOverlay__HpEfe",feeshSway:"fishing_feeshSway__G3l1p",dealIn:"fishing_dealIn__ar39N",feeshDealIn:"fishing_feeshDealIn__mMG_W",coinFlip:"fishing_coinFlip__6qbE_",feeshCoinSquash:"fishing_feeshCoinSquash__9y4na",winFlash:"fishing_winFlash__pkXS1",feeshWinFlash:"fishing_feeshWinFlash__QRdq2",flingFade:"fishing_flingFade__i9Kx_",feeshFlingFade:"fishing_feeshFlingFade__JD2k2",cardDeal:"fishing_cardDeal__kpCU0",feeshCardDeal:"fishing_feeshCardDeal__bl6AY",pokerWin:"fishing_pokerWin__7Bhl_",feeshPokerWin:"fishing_feeshPokerWin__riy10",chipPulse:"fishing_chipPulse__mqMDB",feeshChipPulse:"fishing_feeshChipPulse__d5_up",pxPanel:"fishing_pxPanel__1VKlN",feeshUiIn:"fishing_feeshUiIn__gkR6k",uiRoot:"fishing_uiRoot__nAfy8",pxBtn:"fishing_pxBtn__PvfeU",revealRays:"fishing_revealRays__c13B2",feeshRaysSpin:"fishing_feeshRaysSpin__4qU_R",revealStamp:"fishing_revealStamp__5m9NK",feeshStamp:"fishing_feeshStamp__V9l3K"}},79934:(e,t,l)=>{"use strict";l.d(t,{Y:()=>n});let n=[{id:"brawler",name:"BRAWLER",frameW:96,frameH:63,bboxH:46,footRow:62,cx:45,frames:{idle:4,run:10,jump:4,attack1:3,attack2:5,attack3:3,hit:2,airattack:3}
1,contact:{attack1:1,attack2:3,attack3:1},fallback:{fall:["jump"],death:["hit"]},quotes:["Steel is heavy. My boots are not.","That was one kick. Ask nicely for the other."],port:{x:32,y:15,s:17}},{id:"punk",name:"PUNK",frameW:96,frameH:63,bboxH:50,footRow:62,cx:51,frames:{idle:4,run:4,attack1:3,hit:4},contact:{attack1:2,attack2:2},fallback:{jump:["idle"],fall:["idle"],death:["hit"],attack2:["attack1"],attack3:["attack1"]},hitEndsFlat:!0,quotes:["Out here nobody knights you. You get up, or you do not.","Bare hands. Cheaper than a sword, and I never drop them."],port:{x:43,y:12,s:20}},{id:"monarch",name:"MONARCH",frameW:160,frameH:111,bboxH:54,footRow:104,cx:79,frames:{idle:8,run:8,jump:2,fall:2,attack1:4,attack2:4,attack3:4,hit:4,death:6},contact:{attack1:2,attack2:2,attack3:2},quotes:["The crown is not a costume. Kneel.","You reached for the throne. It reached back."],port:{x:76,y:48,s:20}},{id:"warden",name:"WARDEN",frameW:150,frameH:150,bboxH:41,footRow:94,cx:75,frames:{idle:8,run:8,jump:2,fall:2,attack1:4,attack2:4,attack3:4,hit:4,death:6},contact:{attack1:2,attack2:2,attack3:2},quotes:["I hold the gate. You were never getting through.","Stay down. That is the whole of my mercy."],port:{x:68,y:52,s:18}},{id:"ronin",name:"RONIN",frameW:200,frameH:200,bboxH:56,footRow:127,cx:97,frames:{idle:4,run:8,jump:2,fall:2,attack1:4,attack2:4,hit:3,death:7},contact:{attack1:2,attack2:2},quotes:["No master, no mercy, no rematch.","I keep nothing but the blade. It was enough."],port:{x:92,y:73,s:18}},{id:"templar",name:"TEMPLAR",frameW:135,frameH:135,bboxH:38,footRow:85,cx:67,frames:{idle:10,run:6,jump:2,fall:2,attack1:4,attack2:4,attack3:5,hit:3,death:9},contact:{attack1:2,attack2:2,attack3:3},quotes:["The oath swings the sword. I only carry it.","Kneel or fall — you chose quickly."],port:{x:61,y:44,s:17}},{id:"huntress",name:"HUNTRESS",frameW:150,frameH:150,bboxH:39,footRow:96,cx:77,frames:{idle:8,run:8,jump:2,fall:2,attack1:5,attack2:5,hit:3,death:8},contact:{attack1:3,attack2:3},quotes:["I had you the moment you stepped into the clearing.","You ran. Everything runs. It never helps."],port:{x:66,y:55,s:14}},{id:"duelist",name:"DUELIST",frameW:126,frameH:126,bboxH:42,footRow:81,cx:68,frames:{idle:10,run:8,jump:3,fall:3,attack1:7,attack2:6,attack3:9,hit:3,death:11},contact:{attack1:4,attack2:3,attack3:6},quotes:["Form beats fury. Come back when you have some.","One cut. You are welcome to count them."],port:{x:55,y:43,s:14}}]}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.