PageSourceSearch

https://starryskynest.web.app/6791.12ddd3a9.chunk.js

js starryskynest.web.app collected 2026-10-03 12:40:26 UTC 176,837 bytes, 2 lines download raw bytes

1(self.webpackChunkts_boilerplate=self.webpackChunkts_boilerplate||[]).push([[6791],{4038:function(n,e,t){t(51605)({target:"Number",stat:!0},{isInteger:t(9136)})},9060:function(n,e,t){"use strict";t.d(e,{CD:function(){return z},Fd:function(){return R},Hg:function(){return J},Ip:function(){return K},N9:function(){return F},O5:function(){return Z},O9:function(){return L},PF:function(){return B},R2:function(){return X},TT:function(){return _},X3:function(){return tn},YO:function(){return H},Zi:function(){return rn},_B:function(){return Y},fA:function(){return V},i:function(){return D},iS:function(){return U},iq:function(){return an},ke:function(){return on},lh:function(){return q},qF:function(){return nn},r$:function(){return Q},sm:function(){return G},xP:function(){return en},xi:function(){return W}}),t(14913),t(12824),t(36012);var r,i,o,a,l,u,c,s,d,p,f,m,g,b,x,v,y,h,E,w,A,k,S,C,T,I,O,M,P=t(20093),j=t(66193);function $(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}var R=P.Ay.div(r||(r=$(["\n  min-height: 40px;\n  display: grid;\n  grid-template-columns: 140px 1fr auto;\n  grid-gap: 12px;\n  align-items: center;
1\n"]))),L=P.Ay.span(i||(i=$(["\n  font-weight: 700;\n  margin: 0 0 0 4px;\n  position: relative;\n  font-size: 14px;\n  line-height: 1.4;\n  word-break: keep-all;\n"]))),D=(P.Ay.div(o||(o=$(["\n  font-weight: 700;\n"]))),P.Ay.div(a||(a=$(["\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  padding: 30px 0;\n\n  ","\n\n  h3 {\n    text-align: center;\n    margin-bottom: 12px;\n  }\n"])),j.pB)),z=P.Ay.div(l||(l=$(["\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  padding: 30px 0;\n  background-color: var(--cardBackgroundColor);\n\n  ","\n  border: var(--cardBorderWidth) var(--cardBorderType) var(--cardLineColor);\n\n  h3 {\n    text-align: center;\n    margin-bottom: 12px;\n  }\n"])),j.BA),U=P.Ay.div(u||(u=$(["\n  width: 100%;\n  height: 120px;\n  background-color: var(--cardBackgroundColor);\n  backdrop-filter: blur(12px);\n  border-radius: var(--cardBorderRadius);\n  border: 1px solid var(--lineColor);\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  font-size: 13px;\n  color: var(--subTextColor);\n"]))),N={column:(0,P.AH)(c||(c=$(["\n    display: grid;\n    grid-template-columns: 6fr 1fr;\n    grid-gap: 12px;\n  "]))),row:(0,P.AH)(s||(s=$(["\n    display: grid;\n    grid-template-columns: 1fr;\n    grid-row-gap: 12px;\n  "])))},H=P.Ay.div(d||(d=$(["\n  padding: 32px 0;\n  font-family: var(--defaultFontFamily);\n  position: relative;\n  width: 100%;\n  max-width: 960px;\n  border-bottom: 1px solid var(--lineColor);\n  text-align: left;\n  ","\n  padding: ",";\n\n  &:last-of-type {\n    border-bottom: 0;\n  }\n\n  #tab_btn_wrap {\n    margin-bottom: 32px;\n  }\n\n  @media (max-width: 480px) {\n    padding: 16px;\n  }\n"])),function(n){var e=n.wrap;return e?N[e]:N.row},function(n){return n.startSec?"0 0 32px 0":"32px 0"}),F=P.Ay.section(p||(p=$(["\n  display: grid;\n  grid-template-columns: 1fr 3fr;\n  grid-gap: 12px;\n  align-items: center;\n\n  label {\n    word-break: keep-all;\n  }\n"]))),G=P.Ay.section(f||(f=$(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),B=P.Ay.p(m||(m=$(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  word-break: keep-all;\n  font-family: var(--defaultFontFamily);\n  margin: 8px 0 0 0;\n  line-height: 1.6;\n"]))),_=P.Ay.div(g||(g=$(["\n  width: 100%;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  gap: 12px;\n  margin-top: 24px;\n"]))),K=P.Ay.div(b||(b=$(["\n  width: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  align-items: center;\n  gap: 6px;\n"]))),V=P.Ay.h5(x||(x=$(["\n  margin-bottom: 24px;\n"]))),J=P.Ay.h6(v||(v=$(["\n  font-size: 13px;\n  color: var(--subTextColor);\n  margin: 20px 0 8px 0;\n  font-weight: 600;\n  letter-spacing: 0.02em;\n"]))),Y=P.Ay.div(y||(y=$(["\n  padding: 12px;\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--lineColor);\n  border-radius: var(--cardBorderRadius);\n\n  p {\n    font-size: 13px;\n    line-height: 1.6;\n  }\n"]))),X=P.Ay.p(h||(h=$(["\n  border-radius: 6px;\n  padding: 12px;\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--cardLineColor);\n  font-size: 14px;\n  color: var(--subTextColor);\n  line-height: 1.6;\n  margin: 8px 0;\n"]))),q=P.Ay.p(E||(E=$(["\n  font-size: 12px;\n  line-height: 1.3;\n  color: var(--subTextColor);\n"]))),W=P.Ay.div(w||(w=$(["\n  padding: 24px;\n"]))),Z=P.Ay.div(A||(A=$(["\n  flex-shrink: 0;\n\n  padding: 24px 16px;\n  border-bottom: 1px solid var(--lineColor);\n\n  span {\n    display: block;\n    font-size: 13px;\n    color: var(--subTextColor);\n    word-break: keep-all;\n    font-family: var(--defaultFontFamily);\n    margin: 8px 0 0 0;\n  }\n"]))),Q=P.Ay.button(k||(k=$(["\n  padding: ",";\n  background-color: ",";\n  border: 2px solid\n    ",";\n  border-radius: var(--cardBorderRadius);\n  cursor: var(--hoverCursorURL), pointer;\n  transition: all 0.2s ease;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: ",";\n\n  &:hover {\n    border-color: var(--primaryColor);\n    ","\n  }\n\n  ","\n"])),function(n){return n.$padding||"32px 16px 16px"},function(n){return n.$bg||"transparent"},function(n){return n.selected?"var(--primaryColor)":"var(--lineColor)"}
1,function(n){return n.$gap||"12px"},function(n){return n.$hoverLift&&"transform: translateY(-2px);"},function(n){return n.selected&&"box-shadow: 0 4px 12px rgba(var(--primaryColorRGB), 0.2);"}),nn=P.Ay.div(S||(S=$(["\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n\n  p {\n    line-height: 1.4;\n  }\n\n  @media (max-width: 480px) {\n    grid-template-columns: 1fr;\n    height: 100%;\n  }\n"]))),en=P.Ay.section(C||(C=$(["\n  box-sizing: border-box;\n  width: 100%;\n  margin-bottom: 24px;\n  padding: 20px;\n  border: 1px solid var(--lineColor);\n  border-radius: 12px;\n  background: var(--cardBackgroundColor);\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"]))),tn=P.Ay.div(T||(T=$(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n"]))),rn=P.Ay.h3(I||(I=$(["\n  margin: 0;\n  font-size: 16px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),on=P.Ay.p(O||(O=$(["\n  margin: 0;\n  font-size: 13px;\n  color: var(--subTextColor);\n  line-height: 1.4;\n"]))),an=P.Ay.div(M||(M=$(["\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n"])))},9136:function(n,e,t){var r=t(65335),i=Math.floor;n.exports=function(n){return!r(n)&&isFinite(n)&&i(n)===n}},11307:function(n,e,t){"use strict";var r,i,o;function a(n){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},a(n)}function l(n,e,t){return(e=function(n){var e=function(n){if("object"!=a(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=a(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==a(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}t.d(e,{PS:function(){return u},Xb:function(){return d},_B:function(){return f},b0:function(){return s},j$:function(){return p},kh:function(){return c}}),t(15852),t(64216),t(18665),t(29979),t(14602),t(36611),t(87787),t(63534),t(40590),t(5086),t(94009);var u={SINGLE:"SINGLE",AOE:"AOE",IGNORE_DEFENSE:"IGNORE_DEFENSE"},c=(l(r={},u.SINGLE,"단일스킬"),l(r,u.AOE,"광역스킬"),l(r,u.IGNORE_DEFENSE,"데미지 무시"),r),s={SINGLE_ATTACK:"SINGLE_ATTACK",AOE_ATTACK:"AOE_ATTACK",SINGLE_HEAL:"SINGLE_HEAL",AOE_HEAL:"AOE_HEAL",SHIELD:"SHIELD",BUFF_ATTACK:"BUFF_ATTACK",BUFF_DEFENSE:"BUFF_DEFENSE",DEBUFF_ATTACK:"DEBUFF_ATTACK",DEBUFF_DEFENSE:"DEBUFF_DEFENSE",DRAIN:"DRAIN",STUN:"STUN",POISON:"POISON",COUNTER:"COUNTER",REVIVE:"REVIVE"},d=(l(i={},s.SINGLE_ATTACK,"단일 공격"),l(i,s.AOE_ATTACK,"광역 공격 (다수 적)"),l(i,s.SINGLE_HEAL,"단일 치료"),l(i,s.AOE_HEAL,"광역 치료 (다수 아군)"),l(i,s.SHIELD,"1턴 방어 (피해 무효)"),l(i,s.BUFF_ATTACK,"공격력 버프"),l(i,s.BUFF_DEFENSE,"방어력 버프"),l(i,s.DEBUFF_ATTACK,"공격력 디버프 (적)"),l(i,s.DEBUFF_DEFENSE,"방어력 디버프 (적)"),l(i,s.DRAIN,"HP 흡수 (공격 + 회복)"),l(i,s.STUN,"기절 (적 1턴 행동불능)"),l(i,s.POISON,"독 (턴마다 지속 피해)"),l(i,s.COUNTER,"반격 (피해 반사)"),l(i,s.REVIVE,"부활 (쓰러진 아군 부활)"),i),p=(l(o={},s.SINGLE_ATTACK,"지정한 적 1명에게 공격"),l(o,s.AOE_ATTACK,"여러 적에게 동시 공격 (대상 수 설정 가능)"),l(o,s.SINGLE_HEAL,"아군 1명의 HP 회복"),l(o,s.AOE_HEAL,"여러 아군의 HP 동시 회복 (대상 수 설정 가능)"),l(o,s.SHIELD,"사용 턴 동안 받는 모든 피해를 0으로 상쇄"),l(o,s.BUFF_ATTACK,"아군의 공격력을 일정 턴 동안 증가"),l(o,s.BUFF_DEFENSE,"아군의 방어력을 일정 턴 동안 증가"),l(o,s.DEBUFF_ATTACK,"적의 공격력을 일정 턴 동안 감소"),l(o,s.DEBUFF_DEFENSE,"적의 방어력을 일정 턴 동안 감소"),l(o,s.DRAIN,"적에게 피해를 주고, 준 피해의 일부만큼 HP 회복"),l(o,s.STUN,"적 1명을 1턴 행동불능 상태로 만듦"),l(o,s.POISON,"적에게 일정 턴 동안 매 턴 피해를 줌"),l(o,s.COUNTER,"피해를 받으면 일정 비율로 반사"),l(o,s.REVIVE,"쓰러진 아군 1명을 일정 HP로 부활"),o),f={maxTurns:10,criticalMultiplier:1.5,critical
1StatCap:300,maxCriticalChance:99,defenseReduction:50,baseHitChance:90,aoeDamageRatio:.4,aoeHealRatio:.3,healCriticalMultiplier:1.3,damageVariance:.1,healVariance:.05,healAttackRatio:.5,minDamage:1,minHeal:1}},21542:function(n,e,t){"use strict";var r=t(96540),i=t(25176),o=t(30415);e.A=function(n){var e=(0,i.lZ)(o.wS);(0,r.useLayoutEffect)(function(){return e(n),function(){e(!0)}},[n,e])}},34098:function(n,e,t){"use strict";t(14913),t(12824),t(36012),t(63534),t(40590),t(80115);var r,i,o,a=t(96540),l=t(20093),u=t(20913),c=t(38362),s=t(39565),d=t(90575),p=t(85444),f=t(34699);function m(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}var g=l.Ay.div(r||(r=m(["\n  display: flex;\n  gap: 8px;\n  align-items: center;\n  border-radius: 8px;\n  width: fit-content;\n\n  &:hover {\n    background-color: var(--inkColor);\n    cursor: var(--hoverCursorURL), pointer;\n  }\n"]))),b=l.Ay.div(i||(i=m(["\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  gap: 4px;\n  width: 100%;\n\n  .description {\n    color: var(--subTextColor);\n    font-size: 12px;\n  }\n"]))),x=l.Ay.div(o||(o=m(["\n  color: var(--textColor);\n  font-size: 14px;\n  cursor: var(--hoverCursorURL), pointer;\n  transition: color 0.2s;\n\n  &:hover {\n    color: var(--primaryColor);\n  }\n"])));function v(n){n.id;var e=n.uid,t=n.avatarSize,r=void 0===t?"26px":t,i=n.style,o=n.onClick,l=n.closeClick,m=n.noLink,v=void 0!==m&&m,y=n.description,h=n.shape,E=void 0===h?"token":h,w=n.showEmail,A=void 0!==w&&w,k=n.showTitleImg,S=void 0!==k&&k,C=n.anonymousName,T=n.showDisplayName,I=void 0===T||T,O=(0,d.useDocument)("".concat(s.Gf.USERS,"/").concat(e),{listen:!0}).data,M=(0,u.Zp)(),P=(0,a.useCallback)(function(){o&&o(),v||M("/user/".concat(e,"/userDetail"))},[o,v]),j={token:a.createElement(g,{id:e,onClick:P},S&&a.createElement(f.A,{titleID:null==O?void 0:O.defaultTitleImg}),O&&a.createElement(c.A,{photoURL:null==O?void 0:O.photoURL,size:r}),I&&a.createElement("div",{style:i},C||(null==O?void 0:O.displayName)||"")),full:a.createElement(g,{id:e,onClick:P,style:{padding:"6px 0"}},O&&a.createElement(c.A,{photoURL:null==O?void 0:O.photoURL,size:r||40}),a.createElement(b,null,I&&a.createElement("div",{style:i},C||(null==O?void 0:O.displayName)||""),A&&a.createElement("div",{className:"description"},y,(null==O?void 0:O.email)||"")),l&&a.createElement(p.A,{shape:"stroke",size:"sm",onClick:function(n){n.preventDefault(),l()}})),"name-only":a.createElement(x,{id:e,onClick:P,style:i},C||(null==O?void 0:O.displayName)||"사용자")};return a.createElement(a.Fragment,null,j[E])}e.A=a.memo(v)},42169:function(n,e,t){var r=t(51605),i=t(60904);r({target:"Date",proto:!0,forced:Date.prototype.toISOString!==i},{toISOString:i})},47266:function(n,e,t){"use strict";t(14913),t(12824),t(36012),t(19693),t(63534),t(4895),t(40590),t(5086),t(64216),t(18665),t(29979),t(14602),t(98741),t(15195),t(69218),t(64189);var r,i,o=t(96540),a=t(20093),l=["src","alt","className","style","fallbackText","onError"];function u(){return u=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},u.apply(null,arguments)}function c(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function s(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}var d=a.Ay.img(r||(r=s(["\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n"]))),p=a.Ay.div(i||(i=s(["\n  width: 100%;\n  height: 100%;\n  background: var(--backgroundColor);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  color: var(--subTextColor);\n  font-size: 14px;\n"])));e.A=function(n){var e,t,r=n.src,i=n.alt,a=n.className,s=n.style,f=n.fallbackText,m=void 0===f?"이미지를 불러올 수 없습니다":f,g=n.onError,b=function(n,e){if(null==n)return{};var t,r,i=function(n,e){if(null==n)return{};var t={};for(var r in n)if({}.hasOwnProperty.call(n,r)){if(-1!==e.indexOf(r))continue;t[r]=n[r]}return t}(n,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);for(r=0;r<o.length;r++)t=o[r],-1===e.indexOf(t)&&{}.propertyIsEnumerable.call(n,t)&&(i[t]=n[t])}return i}(n,l),x=(e=(0,o.useState)(!1),t=2,function(n){if(Array.isArray(n))return n}(e)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,i,o,a,l=[],u=!0,c=!1;try{if(o=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=o.call(t)).done)&&(l.push(r.value),l.length!==e);u=!0);}catch(n){c=!0,i=n}
1finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(e,t)||function(n,e){if(n){if("string"==typeof n)return c(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?c(n,e):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),v=x[0],y=x[1];return v?o.createElement(p,{className:a,style:s},m):o.createElement(d,u({src:r,alt:i,className:a,style:s,onError:function(n){y(!0),null==g||g(n)}},b))}},50965:function(n,e,t){"use strict";t(18772);var r=t(96540);e.A=function(){var n,e=(0,r.useRef)(null),t=(0,r.useRef)(null),i=(0,r.useCallback)(function(r){clearTimeout(n),t.current&&e.current&&(t.current.textContent=r,e.current.style.opacity="1",n=setTimeout(function(){e.current.style.opacity="0"},2e3))},[e,t]);return(0,r.useEffect)(function(){var n=document.getElementById("toast"),r=document.getElementById("toast-message");e.current=n,t.current=r},[]),{openToast:i}}},60904:function(n,e,t){"use strict";var r=t(92074),i=t(45214).start,o=Math.abs,a=Date.prototype,l=a.getTime,u=a.toISOString;n.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=u.call(new Date(-50000000000001))})||!r(function(){u.call(new Date(NaN))})?function(){if(!isFinite(l.call(this)))throw RangeError("Invalid time value");var n=this,e=n.getUTCFullYear(),t=n.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+i(o(e),r?6:4,0)+"-"+i(n.getUTCMonth()+1,2,0)+"-"+i(n.getUTCDate(),2,0)+"T"+i(n.getUTCHours(),2,0)+":"+i(n.getUTCMinutes(),2,0)+":"+i(n.getUTCSeconds(),2,0)+"."+i(t,3,0)+"Z"}:u},62373:function(n,e,t){"use strict";t.r(e),t.d(e,{default:function(){return Xp}}),t(80115);var r,i,o,a,l,u,c,s=t(82698),d=t(96540),p=t(20913),f=t(90575),m=t(39565),g=t(51987),b=t(21542),x=t(9535),v=t(56288),y=t(94127),h=(t(14913),t(12824),t(36012),t(20093));function E(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}(0,h.i7)(r||(r=E(["\n  0%, 100% { transform: translateX(0); }\n  10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }\n  20%, 40%, 60%, 80% { transform: translateX(4px); }\n"]))),(0,h.i7)(i||(i=E(["\n  from { opacity: 0; transform: scale(0.95); }\n  to { opacity: 1; transform: scale(1); }\n"]))),(0,h.i7)(o||(o=E(["\n  0%, 100% { box-shadow: 0 0 4px rgba(239, 68, 68, 0.3); }\n  50% { box-shadow: 0 0 12px rgba(239, 68, 68, 0.6); }\n"])));var w=h.Ay.div(a||(a=E(["\n  width: 100%;\n  height: 100vh;\n  height: 100dvh;\n  display: flex;\n  flex-direction: column;\n  background-color: #0a0a0f;\n  overflow: hidden;\n\n  ","\n"])),function(n){var e=n.$backgroundURL;return e?"\n    background-image: url(".concat(e,");\n    background-size: cover;\n    background-position: center;\n    background-repeat: no-repeat;\n  "):"\n    background: radial-gradient(ellipse at 50% 30%, #1a1a2e 0%, #0a0a0f 70%);\n  "}),A=h.Ay.div(l||(l=E(["\n  flex: 1;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-direction: column;\n  gap: 12px;\n"]))),k=h.Ay.p(u||(u=E(["\n  font-size: 16px;\n  color: var(--subTextColor);\n"]))),S=h.Ay.main(c||(c=E(["\n  flex: 1;\n  display: grid;\n  grid-template-columns: ",";\n  overflow: hidden;\n  transition: grid-template-columns 0.3s ease;\n\n  @media (max-width: 1024px) {\n    grid-template-columns: ",";\n  }\n\n  @media (max-width: 768px) {\n    grid-template-columns: 1fr;\n    grid-template-rows: 1fr auto auto;\n    overflow-y: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n"])),function(n){return n.$isIdle?"1fr":"260px 1fr 240px"},function(n){return n.$isIdle?"1fr":"220px 1fr 200px"}),C=(t(7452),t(17),t(59581),t(18636),t(47746),t(43148),t(35231),t(94009),t(18665),t(7918),t(5086),t(29979),t(14602),t(58476),t(58379),t(15195),t(63555),t(69193),t(89560),t(79389),t(18772),t(23604),t(98741),t(84095),t(68329),t(4895),t(63534),t(40590),t(64216),t(36611),t(87787),t(15852),t(7899),t(10678),t(3101),t(51614)),T=(t(69218),t(31683));function I(n){return I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},I(n)}function O(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),t.push.apply(t,r)}return t}function M(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};
1e%2?O(Object(t),!0).forEach(function(e){P(n,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):O(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})}return n}function P(n,e,t){return(e=function(n){var e=function(n){if("object"!=I(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=I(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==I(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function j(n,e,t,r,i,o,a){try{var l=n[o](a),u=l.value}catch(n){return void t(n)}l.done?e(u):Promise.resolve(u).then(r,i)}function $(n,e){return R.apply(this,arguments)}function R(){var n;return n=regeneratorRuntime.mark(function n(e,t){var r;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!t.startSnapshot||!t.monsterSnapshots){n.next=2;break}return n.abrupt("return",{});case 2:return n.next=4,Promise.all((t.monsterIds||[]).map(function(n){return e.get(T.fuego.db.collection("npc").doc(n))}));case 4:return r=n.sent,n.abrupt("return",{startSnapshot:t.startSnapshot||(0,s.c)(t),monsterSnapshots:t.monsterSnapshots||r.filter(function(n){return n.exists}).map(function(n){return M(M({},n.data()),{},{id:n.id})})});case 6:case"end":return n.stop()}},n)}),R=function(){var e=this,t=arguments;return new Promise(function(r,i){var o=n.apply(e,t);function a(n){j(o,r,i,a,l,"next",n)}function l(n){j(o,r,i,a,l,"throw",n)}a(void 0)})},R.apply(this,arguments)}var L=t(56747);function D(n){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},D(n)}function z(n){return function(n){if(Array.isArray(n))return U(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return U(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?U(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function U(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function N(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),t.push.apply(t,r)}return t}function H(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?N(Object(t),!0).forEach(function(e){F(n,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):N(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})}return n}function F(n,e,t){return(e=function(n){var e=function(n){if("object"!=D(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=D(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==D(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function G(n,e,t,r,i,o,a){try{var l=n[o](a),u=l.value}catch(n){return void t(n)}l.done?e(u):Promise.resolve(u).then(r,i)}function B(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var o=n.apply(e,t);function a(n){G(o,r,i,a,l,"next",n)}function l(n){G(o,r,i,a,l,"throw",n)}a(void 0)})}}t(52250);var _=T.default.firestore();function K(n,e,t,r,i){return V.apply(this,arguments)}function V(){return V=B(regeneratorRuntime.mark(function n(e,t,r,i,o){var a,l;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return a=_.collection("raid").doc(e),n.next=3,a.
1collection("logs").where("userId","==",t).limit(1).get();case 3:return l=n.sent,n.abrupt("return",_.runTransaction(function(){var n=B(regeneratorRuntime.mark(function n(u){var c,s,d,p,f,m,g;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,u.get(a);case 2:if((c=n.sent).exists){n.next=5;break}return n.abrupt("return");case 5:return s=c.data(),d=(null==s?void 0:s.participants)||[],p=F({},"participantNames.".concat(t),r||"파티원"),i&&(p["participantPhotos.".concat(t)]=i),void 0!==o&&(p["participantSpeeds.".concat(t)]=o),n.next=12,(0,L.xN)(u,{userId:t,channel:"TIMELINE"===(null==s?void 0:s.raidType)?"timelineRaid":"otherRaid",battleId:e,alreadyParticipated:d.includes(t)||!l.empty});case 12:if(f=n.sent,"IN_PROGRESS"!==(null==s?void 0:s.status)){n.next=19;break}return n.next=16,$(u,s);case 16:n.t0=n.sent,n.next=20;break;case 19:n.t0={};case 20:if(m=n.t0,Object.assign(p,m),f.commit(),!d.includes(t)){n.next=26;break}return u.update(a,p),n.abrupt("return");case 26:g=[].concat(z(d),[t]),u.update(a,H({participants:g,participantCount:g.length},p));case 28:case"end":return n.stop()}},n)}));return function(e){return n.apply(this,arguments)}}()));case 5:case"end":return n.stop()}},n)})),V.apply(this,arguments)}var J,Y,X,q,W,Z,Q,nn,en,tn,rn,on,an,ln,un,cn,sn,dn,pn,fn,mn,gn,bn=t(85802),xn=t(80564),vn=t(11307),yn=t(73430),hn=t(25176),En=t(18206),wn=t(39755),An=t(3793),kn=t(6529),Sn=t(36205),Cn=t(50965),Tn=t(8930);function In(n){return In="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},In(n)}function On(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Mn(n,e,t,r,i,o,a){try{var l=n[o](a),u=l.value}catch(n){return void t(n)}l.done?e(u):Promise.resolve(u).then(r,i)}function Pn(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,i,o,a,l=[],u=!0,c=!1;try{if(o=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=o.call(t)).done)&&(l.push(r.value),l.length!==e);u=!0);}catch(n){c=!0,i=n}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return jn(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?jn(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function jn(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function $n(n,e,t){return(e=function(n){var e=function(n){if("object"!=In(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=In(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==In(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Rn=($n(J={},g.C4.SCHEDULED,"#f59e0b"),$n(J,g.C4.IN_PROGRESS,"#10b981"),$n(J,g.C4.COMPLETED,"#6b7280"),J),Ln=[{value:g.C4.SCHEDULED,label:"예약중"},{value:g.C4.COMPLETED,label:"진행종료"}];function Dn(n){var e=n.raidData,t=n.localStatus,r=n.isMaster,i=n.isAlreadyParticipating,o=n.onJoin,a=n.onAbandon,l=n.onNavigate,u=n.onOpenSettings,c=n.isTurnPaused,s=n.onTogglePause,p=n.onStartTurn,f=n.onStatusChange,m="active"===t,b="victory"===t||"defeat"===t,x=Pn((0,d.useState)(!1),2),v=x[0],y=x[1],h=Pn((0,d.useState)(!1),2),E=h[0],w=h[1],A=(0,d.useRef)(null);(0,d.useEffect)(function(){if(v){var n=function(n){A.current&&!A.current.contains(n.target)&&y(!1)};return document.addEventListener("mousedown",n),function(){return document.removeEventListener("mousedown",n)}}},[v]);var k=(0,d.useCallback)(function(){var n,e=(n=regeneratorRuntime.mark(function n(e){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return y(!1),w(!0),n.prev=2,n.next=5,f(e);case 5:return n.prev=5,w(!1),n.finish(5);case 8:case"end":return n.stop()}},n,null,[[2,,5,8]])}),function(){var e=this,t=arguments;return new Promise(function(r,i){var o=n.apply(e,t);function a(n){Mn(o,r,i,a,l,"next",n)}function l(n){Mn(o,r,i,a,l,"throw",n)}a(void 0)})});return function(n){return e.apply(this,arguments)}}(),[f]),S=e.status;return d.createElement(oe,null,d.createElement(ae,null,d.createElement(le,null),d.createElement("span",null,e.areaName||e.title||"A1구역")),d.createElement(ue,null,"idle"===t&&d.createElement(d.Fragment,null,d.createElement(ce,{onClick:o,shape:"filled"},i?"참여 상태 갱신":"전투 참여하기"),r&&e.status===g.C4.SCHEDULED&&d.createElement(ce,{onClick:p,shape:"filled"},"턴 시작")),m&&r&&d.createElement(pe,{onClick:s,$isPaused:c},c?"▶ 턴 재시작":"⏸ 턴 일시 중지"),m&&d.createElement(se,{onClick:a,shape:"filled",color:"warning"},"전투 포기하기"),b&&d.createElement(ce,{onClick:l,shape:"filled"},"레이드 목록으로"),r&&d.createElement(fe,{ref:A},d.createElement(me,{onClick:function(){return!E&&y(function(n){return!n})},$open:v,disabled:E},E?d.createElement(we,null):d.createElement(ge,{$color:Rn[S]}),d.createElement(be,null,g.KE[S]),!E&&d.createElement(xe,{$open:v},"▾")),v&&!E&&d.createElement(ve,null,Ln.map(function(n){return d.createElement(ye,{key:n.value,$active:n.value===S,onClick:function(){return k(n.value)}},d.createElement(ge,{$color:Rn[n.value]}),n.label,n.value===S&&d.createElement(he,null,"✓"))}))),r&&d.createElement(Ae,{onClick:u},d.createElement(Tn.A,{name:"Wrench14",color:"var(--subTextColor)"}))))}var zn,Un,Nn,Hn,Fn,Gn,Bn,_n,Kn,Vn,Jn,Yn,Xn,qn,Wn,Zn,Qn,ne,ee,te,re,ie=d.memo(Dn),oe=h.Ay.header(Y||(Y=On(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 12px 20px;\n  background: rgba(0, 0, 0, 0.55);\n  backdrop-filter: blur(12px);\n  -webkit-backdrop-filter: blur(12px);\n  border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n  flex-shrink: 0;\n  position: relative;\n  z-index: 50;\n\n  @media (max-width: 768px) {\n    padding: 8px 12px;\n  }\n"]))),ae=h.Ay.div(X||(X=On(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  font-size: 16px;\n  font-weight: 700;\n  color: rgba(255, 255, 255, 0.9);\n  min-width: 0;\n  overflow: hidden;\n  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);\n\n  span {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  @media (max-width: 768px) {\n    font-size: 14px;\n    gap: 6px;\n  }\n"]))),le=h.Ay.div(q||(q=On(["\n  width: 10px;\n  height: 10px;\n  border-radius: 50%;\n  background-color: rgba(255, 255, 255, 0.7);\n  flex-shrink: 0;\n  box-shadow: 0 0 6px rgba(255, 255, 255, 0.4);\n"]))),ue=h.Ay.div(W||(W=On(["\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  flex-shrink: 0;\n\n  @media (max-width: 768px) {\n    gap: 8px;\n  }\n"]))),ce=(0,h.Ay)(y.A)(Z||(Z=On(["\n  padding: 10px 24px;\n  font-weight: 700;\n  white-space: nowrap;\n\n  @media (max-width: 768px) {\n    padding: 8px 14px;\n    font-size: 13px;\n  }\n"]))),se=(0,h.Ay)(y.A)(Q||(Q=On(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 20px;\n  font-weight: 700;\n  white-space: nowrap;\n\n  @media (max-width: 768px) {\n    padding: 8px 12px;\n    font-size: 13px;\n  }\n"]))),de=(0,h.i7)(nn||(nn=On(["\n  0%, 100% { opacity: 1; }\n  50% { opacity: 0.6; }\n"]))),pe=h.Ay.button(en||(en=On(["\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  padding: 8px 16px;\n  border-radius: 8px;\n  font-size: 13px;\n  font-weight: 700;\n  font-family: var(--defaultFontFamily);\n  cursor: pointer;\n  white-space: nowrap;\n  transition: all 0.15s;\n\n  ","\n\n  &:hover {\n    background: ",";\n    border-color: ",";\n    color: ",";\n  }\n\n  @media (max-width: 768px) {\n    padding: 6px 10px;\n    font-size: 12px;\n  }\n"])),function(n){return n.$isPaused?(0,h.AH)(tn||(tn=On(["\n          background: rgba(251, 191, 36, 0.15);\n          border: 1px solid rgba(251, 191, 36, 0.5);\n          color: #fbbf24;\n          animation: "," 1.6s ease-in-out infinite;\n        "])),de):(0,h.AH)(rn||(rn=On(["\n          background: rgba(255, 255, 255, 0.08);\n          border: 1px solid rgba(255, 255, 255, 0.2);\n          color: rgba(255, 255, 255, 0.75);\n        "])))},function(n){return n.$isPaused?"rgba(251, 191, 36, 0.25)":"rgba(255, 255, 255, 0.15)"},function(n){return n.$isPaused?"rgba(251, 191, 36, 0.8)":"rgba(255, 255, 255, 0.4)"},function(n){return n.$isPaused?"#fbbf24":"#fff"}),fe=h.Ay.div(on||(on=On(["\n  position: relative;\n  flex-shrink: 0;\n"]))),me=h.Ay.button(an||(an=On(["\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  padding: 7px 12px;\n  border-radius: 8px;\n  font-size: 13px;\n  font-weight: 600;\n  font-family: var(--defaultFontFamily);\n  cursor: pointer;\n  white-space: nowrap;\n  transition: all 0.15s;\n  background: ",";\n  border: 1px solid ",";\n  color: rgba(255, 255, 255, 0.85);\n\n  &:hover:not(:disabled) {\n    background: rgba(255, 255, 255, 0.14);\n    border-color: rgba(255, 255, 255, 0.35);\n  }
1\n\n  &:disabled {\n    cursor: not-allowed;\n    opacity: 0.75;\n  }\n\n  @media (max-width: 768px) {\n    padding: 5px 8px;\n    font-size: 12px;\n  }\n"])),function(n){return n.$open?"rgba(255, 255, 255, 0.14)":"rgba(255, 255, 255, 0.08)"},function(n){return n.$open?"rgba(255, 255, 255, 0.35)":"rgba(255, 255, 255, 0.18)"}),ge=h.Ay.span(ln||(ln=On(["\n  width: 7px;\n  height: 7px;\n  border-radius: 50%;\n  background-color: ",";\n  flex-shrink: 0;\n  box-shadow: 0 0 5px ","88;\n"])),function(n){return n.$color},function(n){return n.$color}),be=h.Ay.span(un||(un=On(["\n  @media (max-width: 480px) {\n    display: none;\n  }\n"]))),xe=h.Ay.span(cn||(cn=On(["\n  font-size: 11px;\n  line-height: 1;\n  transition: transform 0.15s;\n  transform: ",";\n  opacity: 0.6;\n"])),function(n){return n.$open?"rotate(180deg)":"rotate(0deg)"}),ve=h.Ay.div(sn||(sn=On(["\n  position: absolute;\n  top: calc(100% + 6px);\n  right: 0;\n  min-width: 140px;\n  background: rgba(20, 20, 28, 0.96);\n  backdrop-filter: blur(12px);\n  border: 1px solid rgba(255, 255, 255, 0.12);\n  border-radius: 10px;\n  overflow: hidden;\n  z-index: 100;\n  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);\n  animation: dropIn 0.12s ease;\n\n  @keyframes dropIn {\n    from { opacity: 0; transform: translateY(-4px); }\n    to   { opacity: 1; transform: translateY(0); }\n  }\n"]))),ye=h.Ay.button(dn||(dn=On(["\n  width: 100%;\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 14px;\n  font-size: 13px;\n  font-weight: ",";\n  font-family: var(--defaultFontFamily);\n  color: ",";\n  background: ",";\n  border: none;\n  cursor: pointer;\n  text-align: left;\n  transition: background 0.1s;\n\n  &:hover {\n    background: rgba(255, 255, 255, 0.1);\n    color: #fff;\n  }\n\n  &:not(:last-child) {\n    border-bottom: 1px solid rgba(255, 255, 255, 0.06);\n  }\n"])),function(n){return n.$active?700:500},function(n){return n.$active?"#fff":"rgba(255,255,255,0.7)"},function(n){return n.$active?"rgba(255, 255, 255, 0.1)":"transparent"}),he=h.Ay.span(pn||(pn=On(["\n  margin-left: auto;\n  font-size: 12px;\n  color: #10b981;\n"]))),Ee=(0,h.i7)(fn||(fn=On(["\n  from { transform: rotate(0deg); }\n  to   { transform: rotate(360deg); }\n"]))),we=h.Ay.span(mn||(mn=On(["\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  border: 2px solid rgba(255, 255, 255, 0.25);\n  border-top-color: #fff;\n  border-radius: 50%;\n  animation: "," 0.7s linear infinite;\n  flex-shrink: 0;\n"])),Ee),Ae=h.Ay.button(gn||(gn=On(["\n  width: 36px;\n  height: 36px;\n  border-radius: 8px;\n  border: 1px solid rgba(255, 255, 255, 0.2);\n  background-color: rgba(255, 255, 255, 0.08);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: all 0.15s;\n\n  &:hover {\n    background-color: rgba(255, 255, 255, 0.15);\n    border-color: rgba(255, 255, 255, 0.35);\n  }\n"]))),ke=(t(10557),t(45708),t(14258)),Se=t(24514);function Ce(n){return Ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ce(n)}function Te(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Ie(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),t.push.apply(t,r)}return t}function Oe(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Ie(Object(t),!0).forEach(function(e){Me(n,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Ie(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})}return n}function Me(n,e,t){return(e=function(n){var e=function(n){if("object"!=Ce(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=Ce(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==Ce(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Pe(n,e,t,r,i,o,a){try{var l=n[o](a),u=l.value}catch(n){return void t(n)}l.done?e(u):Promise.resolve(u).then(r,i)}function je(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var o=n.apply(e,t);function a(n){Pe(o,r,i,a,l,"next",n)}function l(n){Pe(o,r,i,a,l,"throw",n)}a(void 0)})}}function $e(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,i,o,a,l=[],u=!0,c=!1;try{if(o=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=o.call(t)).done)&&(l.push(r.value),l.length!==e);u=!0);}catch(n){c=!0,i=n}
1finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(n,e)||Le(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Re(n){return function(n){if(Array.isArray(n))return De(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||Le(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Le(n,e){if(n){if("string"==typeof n)return De(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?De(n,e):void 0}}function De(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function ze(n){var e=n.raidId,t=n.isActive,r=n.notice,i=n.chatInput,o=n.onChatInputChange,a=n.onSendChat,l=n.onKeyDown,u=n.chatAuthorDisplayType,c=void 0===u?"user":u,s=(0,d.useRef)(null),p=(0,d.useRef)(null),m=(0,d.useRef)(null),g=(0,d.useRef)(!0),b=(0,f.useCollection)(e&&t?"raid/".concat(e,"/chat"):null,{listen:!0,orderBy:["timestamp","desc"],limit:20}).data,x=(0,d.useMemo)(function(){return b?Re(b).reverse():[]},[b]),v=$e((0,d.useState)([]),2),y=v[0],h=v[1],E=$e((0,d.useState)(!0),2),w=E[0],A=E[1],k=$e((0,d.useState)(!1),2),S=k[0],C=k[1],I=(0,d.useRef)(null);(0,d.useEffect)(function(){h([]),A(!0),I.current=null,g.current=!0},[e]);var O=x[0],M=(0,d.useCallback)(je(regeneratorRuntime.mark(function n(){var r,i,o,a,l,u,c;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(e&&t&&!S&&w){n.next=2;break}return n.abrupt("return");case 2:if(null!=O&&O.timestamp){n.next=4;break}return n.abrupt("return");case 4:return C(!0),i=p.current,o=null!==(r=null==i?void 0:i.scrollHeight)&&void 0!==r?r:0,n.prev=7,a=T.default.firestore(),l=a.collection("raid/".concat(e,"/chat")).orderBy("timestamp","desc").limit(20),l=I.current?l.startAfter(I.current):l.startAfter(O.timestamp),n.next=13,l.get();case 13:if(!(u=n.sent).empty){n.next=17;break}return A(!1),n.abrupt("return");case 17:c=u.docs.map(function(n){return Oe({id:n.id},n.data())}),I.current=u.docs[u.docs.length-1],A(u.docs.length>=20),h(function(n){return[].concat(Re(c.reverse()),Re(n))}),requestAnimationFrame(function(){if(i){var n=i.scrollHeight;i.scrollTop+=n-o}}),n.next=27;break;case 24:n.prev=24,n.t0=n.catch(7),console.error("이전 채팅 로드 실패:",n.t0);case 27:return n.prev=27,C(!1),n.finish(27);case 30:case"end":return n.stop()}},n,null,[[7,24,27,30]])})),[e,t,S,w,O]),P=(0,d.useMemo)(function(){var n=new Set(y.map(function(n){return n.id})),e=x.filter(function(e){return!n.has(e.id)});return[].concat(Re(y),Re(e))},[y,x]);(0,d.useEffect)(function(){var n=m.current,e=p.current;if(n&&e&&t){var r=new IntersectionObserver(function(n){n[0].isIntersecting&&w&&!S&&M()},{root:e,threshold:.1});return r.observe(n),function(){return r.disconnect()}}},[t,w,S,M]),(0,d.useEffect)(function(){x.length>0&&g.current&&(g.current=!1,requestAnimationFrame(function(){var n;null===(n=s.current)||void 0===n||n.scrollIntoView()}))},[x]);var j=(0,d.useRef)(0);(0,d.useEffect)(function(){var n=p.current;if(n&&0!==x.length){var e=x.length>j.current;j.current=x.length,e&&n.scrollHeight-n.scrollTop-n.clientHeight<120&&requestAnimationFrame(function(){var n;null===(n=s.current)||void 0===n||n.scrollIntoView({behavior:"smooth"})})}},[x]);var $=(0,d.useCallback)(function(n){if("SYSTEM"===n.type)return d.createElement(lt,{key:n.id},d.createElement(ut,null,n.content));if("COMBAT"===n.type){var e="MONSTER"===n.combatActor;return d.createElement(ct,{key:n.id,$isMonster:e},d.createElement(st,{$isMonster:e},e?"⚔":"🗡"," ",n.userName),d.createElement(dt,null,n.content))}return d.createElement(it,{key:n.id},d.createElement(ot,null,"SYSTEM"!==n.userId&&d.createElement(ke.A,{authorUid:n.userId,authorSnapshot:n.authorSnapshot,authorDisplayType:c,avatarSize:"24px",shape:"token",noLink:!0,style:{fontSize:13,fontWeight:800,color:"#e0e0e0"}})),d.createElement(at,null,n.content))},[c]);return d.createElement(We,{$active:t},t?d.createElement(d.Fragment,null,r&&d.createElement(Ze,null,d.createElement(Qe,null,"공지"),d.createElement("p",null,r)),d.createElement(nt,{ref:p},d.createElement(et,{ref:m},S&&d.createElement(tt,null,"이전 메시지 불러오는 중..."),!w&&y.length>0&&d.createElement(tt,null,"모든 메시지를 불러왔습니다.")),P.length>0?P.map($):d.createElement(rt,null,"채팅 메시지가 없습니다."),d.createElement("div",{ref:s})),d.createElement(pt,null,d.createElement(ft,{value:i,onChange:function(n){return o(n.target.value)},onKeyDown:l,placeholder:"채팅 입력"}),d.createElement(mt,{onClick:a,shape:"filled",size:"sm"},"보내기"))):d.createElement(gt,null,d.createElement(bt,null,"전투 참여시 채íŒ
1…방이 활성화 됩니다.")))}var Ue,Ne,He,Fe,Ge,Be,_e,Ke,Ve,Je,Ye,Xe,qe=d.memo(ze),We=h.Ay.aside(zn||(zn=Te(["\n  display: flex;\n  flex-direction: column;\n  background: ",";\n  backdrop-filter: blur(10px);\n  -webkit-backdrop-filter: blur(10px);\n  border-right: 1px solid rgba(255, 255, 255, 0.08);\n  overflow: hidden;\n\n  @media (max-width: 768px) {\n    ","\n    order: 2;\n    min-height: 180px;\n    max-height: 240px;\n    border-right: none;\n    border-top: 1px solid rgba(255, 255, 255, 0.08);\n  }\n"])),function(n){return n.$active?"rgba(0, 0, 0, 0.6)":"rgba(0, 0, 0, 0.3)"},function(n){return!n.$active&&(0,h.AH)(Un||(Un=Te(["\n        display: none;\n      "])))}),Ze=h.Ay.div(Nn||(Nn=Te(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  padding: 10px 14px;\n  background-color: rgba(255, 193, 7, 0.15);\n  border-bottom: 1px solid rgba(255, 193, 7, 0.3);\n  font-size: 12px;\n  color: #f5f5f5;\n  flex-shrink: 0;\n\n  p {\n    line-height: 1.4;\n    font-size: 12px;\n  }\n"]))),Qe=h.Ay.span(Hn||(Hn=Te(["\n  font-weight: 800;\n  color: #ffc107;\n  white-space: nowrap;\n"]))),nt=h.Ay.div(Fn||(Fn=Te(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 12px;\n  padding: 14px;\n  overflow-y: auto;\n  ","\n"])),Se.kM),et=h.Ay.div(Gn||(Gn=Te(["\n  min-height: 1px;\n  flex-shrink: 0;\n"]))),tt=h.Ay.div(Bn||(Bn=Te(["\n  text-align: center;\n  font-size: 11px;\n  color: rgba(255, 255, 255, 0.3);\n  padding: 8px 0;\n"]))),rt=h.Ay.div(_n||(_n=Te(["\n  text-align: center;\n  font-size: 12px;\n  color: rgba(255, 255, 255, 0.35);\n  padding: 20px 0;\n"]))),it=h.Ay.div(Kn||(Kn=Te(["\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n"]))),ot=h.Ay.div(Vn||(Vn=Te(["\n  display: flex;\n  align-items: center;\n  gap: 6px;\n"]))),at=h.Ay.p(Jn||(Jn=Te(["\n  font-size: 13px;\n  color: #ccc;\n  line-height: 1.5;\n  padding-left: 30px;\n  white-space: pre-wrap;\n"]))),lt=h.Ay.div(Yn||(Yn=Te(["\n  display: flex;\n  justify-content: center;\n  padding: 4px 0;\n"]))),ut=h.Ay.span(Xn||(Xn=Te(["\n  font-size: 11px;\n  color: #999;\n  background-color: rgba(255, 255, 255, 0.08);\n  padding: 4px 12px;\n  border-radius: 12px;\n"]))),ct=h.Ay.div(qn||(qn=Te(["\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n  padding: 6px 10px;\n  border-radius: 6px;\n  border-left: 2px solid ",";\n  background: ",";\n"])),function(n){return n.$isMonster?"rgba(239, 68, 68, 0.6)":"rgba(99, 102, 241, 0.6)"},function(n){return n.$isMonster?"rgba(239, 68, 68, 0.07)":"rgba(99, 102, 241, 0.07)"}),st=h.Ay.span(Wn||(Wn=Te(["\n  font-size: 10px;\n  font-weight: 700;\n  color: ",";\n  letter-spacing: 0.3px;\n"])),function(n){return n.$isMonster?"rgba(252, 165, 165, 0.9)":"rgba(165, 180, 252, 0.9)"}),dt=h.Ay.p(Zn||(Zn=Te(["\n  margin: 0;\n  font-size: 12px;\n  color: rgba(220, 220, 240, 0.85);\n  line-height: 1.5;\n  white-space: pre-wrap;\n"]))),pt=h.Ay.div(Qn||(Qn=Te(["\n  display: flex;\n  gap: 8px;\n  padding: 10px 14px;\n  background: rgba(0, 0, 0, 0.4);\n  border-top: 1px solid rgba(255, 255, 255, 0.1);\n  flex-shrink: 0;\n"]))),ft=h.Ay.input(ne||(ne=Te(["\n  flex: 1;\n  padding: 8px 12px;\n  background: rgba(255, 255, 255, 0.1);\n  border: 1px solid rgba(255, 255, 255, 0.15);\n  border-radius: 6px;\n  color: #f5f5f5;\n  font-size: 13px;\n  font-family: var(--defaultFontFamily);\n\n  &::placeholder {\n    color: rgba(255, 255, 255, 0.35);\n  }\n\n  &:focus {\n    outline: none;\n    border-color: var(--primaryColor);\n    background: rgba(255, 255, 255, 0.15);\n  }\n"]))),mt=(0,h.Ay)(y.A)(ee||(ee=Te(["\n  flex-shrink: 0;\n  white-space: nowrap;\n"]))),gt=h.Ay.div(te||(te=Te(["\n  flex: 1;\n  display: flex;\n  align-items: flex-end;\n  justify-content: center;\n  padding: 20px 14px;\n"]))),bt=h.Ay.div(re||(re=Te(["\n  padding: 10px 16px;\n  background-color: rgba(255, 255, 255, 0.1);\n  border: 1px solid rgba(255, 255, 255, 0.15);\n  border-radius: 8px;\n  font-size: 12px;\n  color: #888;\n  text-align: center;
1\n"]))),xt=(t(48825),t(6048),t(14070)),vt=t(47266),yt=t(89644),ht=t(59566);function Et(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,i,o,a,l=[],u=!0,c=!1;try{if(o=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=o.call(t)).done)&&(l.push(r.value),l.length!==e);u=!0);}catch(n){c=!0,i=n}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return wt(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?wt(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wt(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function At(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}var kt=(0,h.i7)(Ue||(Ue=At(["\n  from { opacity: 0; transform: translateY(12px); }\n  to   { opacity: 1; transform: translateY(0); }\n"]))),St=(0,h.i7)(Ne||(Ne=At(["\n  from { opacity: 1; }\n  to   { opacity: 0; }\n"])));function Ct(n){var e,t,r=n.raidId,i=n.isActive,o=(0,f.useCollection)(r&&i?"raid/".concat(r,"/chat"):null,{listen:!0,orderBy:["timestamp","desc"],limit:10}).data,a=(0,d.useMemo)(function(){var n;return null!==(n=null==o?void 0:o.find(function(n){return"MESSAGE"===n.type}))&&void 0!==n?n:null},[o]),l=Et((0,d.useState)(!1),2),u=l[0],c=l[1],s=Et((0,d.useState)(!1),2),p=s[0],m=s[1],g=(0,d.useRef)(null),b=(0,d.useRef)(null);return(0,d.useEffect)(function(){if(a)return g.current&&clearTimeout(g.current),b.current&&clearTimeout(b.current),m(!1),c(!0),g.current=setTimeout(function(){m(!0),b.current=setTimeout(function(){return c(!1)},400)},6e3),function(){g.current&&clearTimeout(g.current),b.current&&clearTimeout(b.current)}},[null==a?void 0:a.id]),a&&u?d.createElement(Ur,{$leaving:p},d.createElement(Nr,null,d.createElement(Hr,null,d.createElement(Fr,null,a.userPhotoURL?d.createElement(Gr,{src:a.userPhotoURL,alt:a.userName}):d.createElement(Br,null,null!==(e=null===(t=a.userName)||void 0===t?void 0:t[0])&&void 0!==e?e:"?")),d.createElement(_r,null,a.userName)),d.createElement(Kr,null,a.content))):null}var Tt,It,Ot,Mt,Pt,jt,$t,Rt,Lt,Dt,zt,Ut,Nt,Ht,Ft,Gt,Bt,_t,Kt,Vt,Jt,Yt,Xt,qt,Wt,Zt,Qt,nr,er,tr,rr,ir,or,ar,lr,ur,cr,sr,dr,pr,fr,mr,gr,br,xr,vr,yr,hr,Er,wr,Ar,kr,Sr,Cr,Tr,Ir,Or,Mr,Pr,jr,$r,Rr,Lr,Dr,zr=d.memo(Ct),Ur=h.Ay.div(He||(He=At(["\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  /* SVG의 linear-gradient: top 투명 → bottom rgba(0,0,0,0.46) */\n  background: linear-gradient(\n    to bottom,\n    transparent 0%,\n    rgba(0, 0, 0, 0.41) 79%,\n    rgba(0, 0, 0, 0.46) 100%\n  );\n  padding-bottom: 80px;\n  pointer-events: none;\n  z-index: 100;\n\n  animation: ",";\n"])),function(n){return n.$leaving?(0,h.AH)(Fe||(Fe=At([""," 0.4s ease forwards"])),St):(0,h.AH)(Ge||(Ge=At([""," 0.35s ease forwards"])),kt)}),Nr=h.Ay.div(Be||(Be=At(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: flex-end;\n  padding: 20px 24px 0;\n  gap: 4px;\n  text-align: center;
1\n"]))),Hr=h.Ay.div(_e||(_e=At(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),Fr=h.Ay.div(Ke||(Ke=At(["\n  flex-shrink: 0;\n  width: 28px;\n  height: 28px;\n"]))),Gr=h.Ay.img(Ve||(Ve=At(["\n  width: 28px;\n  height: 28px;\n  border-radius: 50%;\n  object-fit: cover;\n  object-position: top center;\n  border: 1px solid rgba(255, 255, 255, 0.2);\n"]))),Br=h.Ay.div(Je||(Je=At(["\n  width: 28px;\n  height: 28px;\n  border-radius: 50%;\n  background: rgba(255, 255, 255, 0.1);\n  border: 1px solid rgba(255, 255, 255, 0.2);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 12px;\n  font-weight: 600;\n  color: rgba(255, 255, 255, 0.7);\n"]))),_r=h.Ay.span(Ye||(Ye=At(["\n  font-size: 11px;\n  font-weight: 500;\n  color: rgba(255, 255, 255, 0.5);\n  /* SVG filter0_d: gaussian blur 9.05 → text-shadow 으로 구현 */\n  text-shadow: 0 0 18px rgba(0, 0, 0, 1);\n  letter-spacing: 0.03em;\n"]))),Kr=h.Ay.p(Xe||(Xe=At(["\n  margin: 0;\n  font-size: 17px;\n  font-weight: 500;\n  color: #ffffff;\n  line-height: 1.4;\n  text-align: center;\n  white-space: pre-wrap;\n  word-break: break-word;\n  overflow: hidden;\n  display: -webkit-box;\n  -webkit-line-clamp: 2;\n  -webkit-box-orient: vertical;\n  /* SVG filter1_d: gaussian blur 9.05 → 흰색 glow */\n  text-shadow:\n    0 0 18px rgba(255, 255, 255, 0.9),\n    0 0 36px rgba(255, 255, 255, 0.5),\n    0 2px 6px rgba(0, 0, 0, 0.8);\n"])));function Vr(n){return Vr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Vr(n)}function Jr(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),t.push.apply(t,r)}return t}function Yr(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Jr(Object(t),!0).forEach(function(e){Wr(n,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Jr(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})}return n}function Xr(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function qr(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Wr(n,e,t){return(e=function(n){var e=function(n){if("object"!=Vr(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=Vr(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==Vr(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Zr=(Wr(Tt={},vn.PS.SINGLE,{label:"단",color:"#93c5fd",bg:"rgba(59,130,246,0.2)"}),Wr(Tt,vn.PS.AOE,{label:"광",color:"#fcd34d",bg:"rgba(245,158,11,0.2)"}),Wr(Tt,vn.PS.IGNORE_DEFENSE,{label:"무",color:"#c084fc",bg:"rgba(168,85,247,0.2)"}),Tt),Qr=(0,h.i7)(It||(It=qr(["\n  0%, 100% { transform: translateX(0); }\n  10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }\n  20%, 40%, 60%, 80% { transform: translateX(4px); }\n"]))),ni=(0,h.i7)(Ot||(Ot=qr(["\n  from { opacity: 0; transform: scale(0.95); }\n  to { opacity: 1; transform: scale(1); }\n"]))),ei=(0,h.i7)(Mt||(Mt=qr(["\n  0%, 100% { box-shadow: 0 0 4px rgba(239, 68, 68, 0.3); }\n  50% { box-shadow: 0 0 12px rgba(239, 68, 68, 0.6); }\n"]))),ti=(0,h.i7)(Pt||(Pt=qr(["\n  from { opacity: 0; transform: translateY(20px); }\n  to { opacity: 1; transform: translateY(0); }\n"]))),ri=(0,h.i7)(jt||(jt=qr(["\n  0%, 100% { transform: scale(1); }\n  50% { transform: scale(1.05); }\n"])));function ii(n){var e,t,r,i,o=n.skill,a=(r=(0,d.useState)(!1),i=2,function(n){if(Array.isArray(n))return n}(r)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,i,o,a,l=[],u=!0,c=!1;try{if(o=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=o.call(t)).done)&&(l.push(r.value),l.length!==e);u=!0);}catch(n){c=!0,i=n}
1finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(r,i)||function(n,e){if(n){if("string"==typeof n)return Xr(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Xr(n,e):void 0}}(r,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=a[0],u=a[1],c=null!==(e=Zr[o.targetType])&&void 0!==e?e:Zr[vn.PS.SINGLE],s=d.createElement(Oo,null,d.createElement(Mo,null,o.name),d.createElement(Po,null,d.createElement(jo,{$color:c.color,$bg:c.bg},null!==(t=vn.kh[o.targetType])&&void 0!==t?t:o.targetType),null!=o.skillMultiplier&&1!==o.skillMultiplier&&d.createElement($o,null,"배율 ",Math.round(100*o.skillMultiplier),"%")));return d.createElement(ht.A,{message:s,direction:"top",isPortal:!0},d.createElement(So,{$color:c.color,$bg:c.bg,$active:l,onClick:function(){return u(function(n){return!n})}},d.createElement(Co,{$color:c.color},c.label),d.createElement(To,null,o.name)))}function oi(n){var e=n.item,t=(0,f.useDocument)(e.originItemID?"".concat(m.Gf.EQUIPMENT,"/").concat(e.originItemID):null,{listen:!0}).data,r=t?Yr(Yr(Yr({},e),t),{},{id:e.id}):e;return d.createElement(yt.A,{data:r,style:{width:40,height:40}})}function ai(n){var e,t=n.localStatus,r=n.raidData,i=n.raidId,o=n.isShaking,a=n.equipmentSlots,l=n.playerHp,u=n.playerMp,c=n.onNavigate,s=n.monsters,p=n.currentMonsterIndex,f=n.statusEffectText,m=n.rewards,g=n.timeLeft,b=n.isMyTurn,x=n.turnTimeLeft,v=void 0===x?0:x,h=n.turnTimeLimit,E=void 0===h?10:h,w="active"===t,A="victory"===t||"defeat"===t,k=(0,d.useMemo)(function(){return s[p]||null},[s,p]),S=(null==k?void 0:k.title)||r.title,C=(null==k?void 0:k.imgURL)||r.thumbnailURL,T=(null==k?void 0:k.maxHp)||r.maxBossHp||1e5,I=(0,d.useMemo)(function(){var n,e;return k&&r.monsterCurrentHps?null!==(e=r.monsterCurrentHps[k.id])&&void 0!==e?e:T:null!==(n=r.currentBossHp)&&void 0!==n?n:T},[k,r.monsterCurrentHps,r.currentBossHp,T]),O=Math.max(0,I/T*100),M=(0,d.useMemo)(function(){if(!g||g<=0)return"";var n=Math.floor(g/60),e=g%60;return"".concat(n,":").concat(e.toString().padStart(2,"0"))},[g]);return d.createElement(fo,null,(w||A)&&d.createElement(mo,null,d.createElement(Ro,null,r.monsterIds.map(function(n,e){var t,i,o,a,l=!!r.monsterCurrentHps&&(null!==(t=r.monsterCurrentHps[n])&&void 0!==t?t:1)<=0,u=s.find(function(e){return e.id===n}),c=e===p;return d.createElement(ht.A,{key:n,message:null!==(i=null==u?void 0:u.title)&&void 0!==i?i:"",direction:"bottom",isPortal:!0},d.createElement(uo,{$active:c,$defeated:l},null!=u&&u.imgURL?d.createElement(co,{src:u.imgURL,alt:u.title,$defeated:l}):d.createElement(so,{$defeated:l},null!==(o=null==u||null===(a=u.title)||void 0===a?void 0:a[0])&&void 0!==o?o:"?")))})),d.createElement(go,null,d.createElement(bo,null,S),M&&d.createElement(xo,{$isUrgent:!!g&&g<60},M)),d.createElement(vo,null,d.createElement(yo,null,d.createElement(ho,{$percent:O})),d.createElement(Eo,null,I.toLocaleString(),"/",T.toLocaleString())),f&&d.createElement(wo,null,f),d.createElement(Ao,null,d.createElement(ko,null,(null!==(e=null==k?void 0:k.skills)&&void 0!==e?e:[]).length>0?k.skills.map(function(n){return d.createElement(ii,{key:n.id,skill:n})}):d.createElement(Io,null,"—"))),w&&d.createElement(d.Fragment,null,d.createElement(Lo,{$isMyTurn:!!b},b?"당신의 턴입니다! 스킬을 선택하세요. (".concat(v,"초)"):"상대 턴을 기다리는 중..."),b&&E>0&&d.createElement(Do,null,d.createElement(zo,{$percent:v/E*100,$isUrgent:v<=3}))),d.createElement(Uo,{$isShaking:o},C?d.createElement(vt.A,{src:C,alt:S,style:{width:"100%",height:"100%",objectFit:"contain"}}):d.createElement(No,null,"몬스터"),"victory"===t&&d.createElement(Ho,{$isVictory:!0},d.createElement(Fo,null,"🏆"),d.createElement(Go,{$isVictory:!0},"승리"),d.createElement(Bo,null,"레이드를 성공적으로 완료했습니다!"),(null==m?void 0:m.stats)&&d.createElement(_o,null,d.createElement(Ko,null,"전투 통계"),d.createElement(Vo,null,d.createElement(Jo,null,d.createElement(Yo,null,m.stats.totalTurns),d.createElement(Xo,null,"총 턴")),d.createElement(Jo,null,d.createElement(Yo,null,m.stats.totalDamage.toLocaleStr
1ing()),d.createElement(Xo,null,"총 데미지")),d.createElement(Jo,{$isMvp:!0},d.createElement(Yo,null,m.stats.mvpName||"-"),d.createElement(Xo,null,"MVP (",m.stats.mvpDamage.toLocaleString()," DMG)")))),m&&m.rewards.length>0&&d.createElement(qo,null,d.createElement(Wo,null,"획득 보상"),d.createElement(Zo,{as:xt.P.div,initial:"hidden",animate:"visible",variants:{hidden:{},visible:{transition:{staggerChildren:.12,delayChildren:.3}}}},m.rewards.map(function(n,e){return d.createElement(Qo,{as:xt.P.div,key:"".concat(n.itemId,"-").concat(e),variants:{hidden:{opacity:0,y:20,scale:.8},visible:{opacity:1,y:0,scale:1,transition:{type:"spring",stiffness:300,damping:20}}}},d.createElement(na,{$guaranteed:n.isGuaranteed},n.isGuaranteed?"확정":"추가"),d.createElement(ea,null,n.itemName))}))),d.createElement(y.A,{shape:"filled",onClick:c,style:{marginTop:16}},"레이드 목록으로")),"defeat"===t&&d.createElement(Ho,null,d.createElement(Fo,null,"💀"),d.createElement(Go,null,"실패"),d.createElement(Bo,null,"시간이 초과되었습니다..."),d.createElement(y.A,{shape:"filled",color:"warning",onClick:c,style:{marginTop:16}},"레이드 목록으로")))),i&&"active"===t&&d.createElement(zr,{raidId:i,isActive:!0}),d.createElement(ta,null,d.createElement(ra,null,a.map(function(n){return d.createElement(ia,{key:n.type},n.item?d.createElement(oi,{item:n.item}):d.createElement(oa,null))})),d.createElement(aa,null,d.createElement(la,{$type:"hp"},d.createElement(ua,{$type:"hp",$percent:Math.max(0,l.current/l.max*100)}),d.createElement(ca,null,l.current,"/",l.max)),d.createElement(la,{$type:"mp"},d.createElement(ua,{$type:"mp",$percent:Math.max(0,u.current/u.max*100)}),d.createElement(ca,null,u.current,"/",u.max)))))}var li,ui,ci,si,di,pi,fi,mi,gi,bi,xi,vi,yi,hi,Ei,wi,Ai,ki,Si,Ci,Ti,Ii,Oi,Mi,Pi,ji,$i,Ri,Li,Di,zi,Ui,Ni,Hi,Fi,Gi,Bi,_i,Ki,Vi,Ji,Yi,Xi,qi,Wi,Zi,Qi,no,eo,to,ro,io,oo,ao,lo,uo=h.Ay.div($t||($t=qr(["\n  width: ",";\n  height: ",";\n  border-radius: 50%;\n  overflow: hidden;\n  flex-shrink: 0;\n  cursor: default;\n  transition: all 0.25s ease;\n  border: 2px solid ",";\n  opacity: ",";\n  background: rgba(0, 0, 0, 0.4);\n  box-shadow: ",";\n"])),function(n){return n.$active?"36px":"28px"},function(n){return n.$active?"36px":"28px"},function(n){var e=n.$active;return n.$defeated?"rgba(255,255,255,0.12)":e?"var(--primaryColor, rgba(255,255,255,0.9))":"rgba(255,255,255,0.25)"},function(n){return n.$defeated?.4:1},function(n){return n.$active?"0 0 8px rgba(255,255,255,0.35)":"none"}),co=h.Ay.img(Rt||(Rt=qr(["\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  object-position: top center;\n  filter: ",";\n  transition: filter 0.3s;\n"])),function(n){return n.$defeated?"grayscale(1) brightness(0.5)":"none"}),so=h.Ay.div(Lt||(Lt=qr(["\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 12px;\n  font-weight: 700;\n  color: ",";\n"])),function(n){return n.$defeated?"rgba(255,255,255,0.3)":"rgba(255,255,255,0.8)"}),po=d.memo(ai),fo=h.Ay.section(Dt||(Dt=qr(["\n  display: flex;\n  flex-direction: column;\n  background: transparent;\n  overflow: hidden;\n  position: relative;\n\n  @media (max-width: 768px) {\n    order: 1;\n    min-height: 300px;\n  }\n"]))),mo=h.Ay.div(zt||(zt=qr(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  padding: 16px 24px 8px;\n  overflow: hidden;\n  background: linear-gradient(\n    to bottom,\n    rgba(0, 0, 0, 0.45) 0%,\n    rgba(0, 0, 0, 0.1) 40%,\n    transparent 100%\n  );\n"]))),go=h.Ay.div(Ut||(Ut=qr(["\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 12px;\n"]))),bo=h.Ay.h2(Nt||(Nt=qr(["\n  font-size: 20px;\n  font-weight: 800;\n  color: #fff;\n  letter-spacing: -0.5px;\n  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);\n"]))),xo=h.Ay.span(Ht||(Ht=qr(["\n  font-size: 13px;\n  font-weight: 700;\n  padding: 2px 10px;\n  border-radius: 12px;\n  background-color: ",";\n  color: #fff;\n  ","\n"])),function(n){return n.$isUrgent?"#ef4444":"#555"},function(n){return n.$isUrgent&&(0,h.AH)(Ft||(Ft=qr(["\n      animation: "," 1s infinite;\n    "])),ri)}),vo=h.Ay.div(Gt||(Gt=qr(["\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n  max-width: 500px;\n  margin: 0 auto;\n  width: 100%;\n"]))),yo=h.Ay.div(Bt||(Bt=qr(["\n  height: 22px;\n  background-color: rgba(0, 0, 0, 0.5);\n  border-radius: 4px;\n  overflow: hidden;\n  position: relative;\n  border: 1px solid rgba(255, 255, 255, 0.1);\n"]))),ho=h.Ay.div(_t||(_t=qr(["\n  height: 100%;\n  width: ","%;\n  background: linear-gradient(90deg, #4caf50, #8bc34a);\n  transition: width 0.5s ease-out;\n"])),function(n){return n.$percent}),Eo=h.Ay.span(Kt||(Kt=qr(["\n  display: block;\n  text-align: center;\n  font-size: 12px;\n  font-weight: 700;\n  color: #fff;\n  margin-top: -20px;\n  position: relative;\n  z-index: 1;\n  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);\n"]))),wo=h.Ay.p(Vt||(Vt=qr(["\n  font-size: 11px;\n  color: #f87171;\n  font-weight: 600;\n  text-align: center;\n  margin: 0;\n  animation: "," 0.3s;\n  text-shadow: 0 0 8px rgba(239, 68, 68, 0.4);\n"])),ni),Ao=h.Ay.div(Jt||(Jt=qr(["\n  display: flex;\n  justify-content: center;\n  padding: 2px 0;\n"]))),ko=h.Ay.div(Yt||(Yt=qr(["\n  display: flex;\n  align-items: center;\n  gap: 5px;\n  flex-wrap: wrap;\n  justify-content: center;
1\n"]))),So=h.Ay.button(Xt||(Xt=qr(["\n  display: flex;\n  align-items: center;\n  gap: 4px;\n  padding: 3px 7px 3px 4px;\n  border-radius: 4px;\n  border: 1px solid ",";\n  background: ",";\n  cursor: pointer;\n  font-family: var(--defaultFontFamily);\n  transition: all 0.15s;\n  max-width: 90px;\n\n  &:hover {\n    background: ",";\n    border-color: ",";\n  }\n"])),function(n){var e=n.$color;return"".concat(e,"55")},function(n){var e=n.$bg;return n.$active?"".concat(e):"rgba(255,255,255,0.05)"},function(n){return n.$bg},function(n){var e=n.$color;return"".concat(e,"88")}),Co=h.Ay.span(qt||(qt=qr(["\n  flex-shrink: 0;\n  font-size: 8px;\n  font-weight: 800;\n  color: #000;\n  background-color: ",";\n  width: 14px;\n  height: 14px;\n  border-radius: 3px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  line-height: 1;\n"])),function(n){return n.$color}),To=h.Ay.span(Wt||(Wt=qr(["\n  font-size: 10px;\n  font-weight: 600;\n  color: rgba(255, 255, 255, 0.8);\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),Io=h.Ay.span(Zt||(Zt=qr(["\n  font-size: 11px;\n  color: rgba(255, 255, 255, 0.2);\n"]))),Oo=h.Ay.div(Qt||(Qt=qr(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n  min-width: 100px;\n"]))),Mo=h.Ay.strong(nr||(nr=qr(["\n  font-size: 13px;\n  font-weight: 700;\n  color: #fff;\n"]))),Po=h.Ay.div(er||(er=qr(["\n  display: flex;\n  align-items: center;\n  gap: 6px;\n"]))),jo=h.Ay.span(tr||(tr=qr(["\n  font-size: 10px;\n  font-weight: 700;\n  padding: 2px 6px;\n  border-radius: 3px;\n  color: ",";\n  background: ",";\n  border: 1px solid ",";\n"])),function(n){return n.$color},function(n){return n.$bg},function(n){var e=n.$color;return"".concat(e,"55")}),$o=h.Ay.span(rr||(rr=qr(["\n  font-size: 10px;\n  color: rgba(255, 255, 255, 0.5);\n"]))),Ro=h.Ay.div(ir||(ir=qr(["\n  display: flex;\n  gap: 8px;\n  justify-content: center;\n  align-items: center;
1\n"]))),Lo=h.Ay.div(or||(or=qr(["\n  text-align: center;\n  padding: 6px 16px;\n  border-radius: 6px;\n  font-size: 13px;\n  font-weight: 700;\n  transition: all 0.3s;\n  background-color: ",";\n  color: ",";\n  border: 1px solid\n    ",";\n  ","\n"])),function(n){return n.$isMyTurn?"rgba(16, 185, 129, 0.2)":"rgba(0, 0, 0, 0.3)"},function(n){return n.$isMyTurn?"#4ade80":"rgba(255,255,255,0.5)"},function(n){return n.$isMyTurn?"rgba(16, 185, 129, 0.4)":"rgba(255,255,255,0.08)"},function(n){return n.$isMyTurn&&(0,h.AH)(ar||(ar=qr(["\n      animation: "," 2s infinite;\n    "])),ri)}),Do=h.Ay.div(lr||(lr=qr(["\n  width: 100%;\n  height: 4px;\n  background-color: rgba(255, 255, 255, 0.1);\n  border-radius: 2px;\n  overflow: hidden;\n"]))),zo=h.Ay.div(ur||(ur=qr(["\n  height: 100%;\n  width: ","%;\n  background-color: ",";\n  border-radius: 2px;\n  transition: width 1s linear, background-color 0.3s;\n"])),function(n){return n.$percent},function(n){return n.$isUrgent?"#ef4444":"#10b981"}),Uo=h.Ay.div(cr||(cr=qr(["\n  flex: 1;\n  min-height: 200px;\n  max-height: 400px;\n  position: relative;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin: 0 40px;\n  animation: ",";\n\n  @media (max-width: 768px) {\n    margin: 0 12px;\n    min-height: 160px;\n    max-height: 280px;\n  }\n"])),function(n){return n.$isShaking?(0,h.AH)(sr||(sr=qr([""," 0.5s"])),Qr):"none"}),No=h.Ay.div(dr||(dr=qr(["\n  font-size: 24px;\n  color: rgba(255, 255, 255, 0.3);\n  font-weight: 600;\n"]))),Ho=h.Ay.div(pr||(pr=qr(["\n  position: absolute;\n  inset: 0;\n  background-color: rgba(0, 0, 0, 0.8);\n  backdrop-filter: blur(6px);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 12px;\n  animation: "," 0.5s;\n  padding: 24px;\n  overflow-y: auto;\n"])),ni),Fo=h.Ay.div(fr||(fr=qr(["\n  font-size: 48px;\n"]))),Go=h.Ay.h2(mr||(mr=qr(["\n  font-size: 40px;\n  font-weight: 800;\n  color: ",";\n  text-shadow: 0 0 20px\n    ",";\n"])),function(n){return n.$isVictory?"#10b981":"#ef4444"},function(n){return n.$isVictory?"rgba(16, 185, 129, 0.5)":"rgba(239, 68, 68, 0.5)"}),Bo=h.Ay.p(gr||(gr=qr(["\n  font-size: 16px;\n  color: rgba(255, 255, 255, 0.9);\n"]))),_o=h.Ay.div(br||(br=qr(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 8px;\n  margin-top: 12px;\n  width: 100%;\n  max-width: 360px;\n"]))),Ko=h.Ay.span(xr||(xr=qr(["\n  font-size: 12px;\n  font-weight: 700;\n  color: rgba(255, 255, 255, 0.6);\n  text-transform: uppercase;\n  letter-spacing: 1px;\n"]))),Vo=h.Ay.div(vr||(vr=qr(["\n  display: flex;\n  gap: 8px;\n  width: 100%;\n"]))),Jo=h.Ay.div(yr||(yr=qr(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 2px;\n  padding: 8px 6px;\n  background: rgba(255, 255, 255, 0.1);\n  border-radius: 8px;\n  border: 1px solid ",";\n"])),function(n){return n.$isMvp?"rgba(250, 204, 21, 0.4)":"rgba(255, 255, 255, 0.1)"}),Yo=h.Ay.span(hr||(hr=qr(["\n  font-size: 14px;\n  font-weight: 800;\n  color: #fff;\n"]))),Xo=h.Ay.span(Er||(Er=qr(["\n  font-size: 10px;\n  color: rgba(255, 255, 255, 0.5);\n"]))),qo=h.Ay.div(wr||(wr=qr(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 8px;\n  margin-top: 12px;\n  animation: "," 0.5s ease-out 0.3s both;\n"])),ti),Wo=h.Ay.h4(Ar||(Ar=qr(["\n  font-size: 14px;\n  font-weight: 700;\n  color: #fbbf24;\n  letter-spacing: 1px;\n"]))),Zo=h.Ay.div(kr||(kr=qr(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 8px;\n  justify-content: center;
1\n"]))),Qo=h.Ay.div(Sr||(Sr=qr(["\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  padding: 6px 12px;\n  background-color: rgba(255, 255, 255, 0.1);\n  border-radius: 8px;\n  border: 1px solid rgba(255, 255, 255, 0.15);\n"]))),na=h.Ay.span(Cr||(Cr=qr(["\n  font-size: 10px;\n  font-weight: 700;\n  padding: 2px 6px;\n  border-radius: 4px;\n  background-color: ",";\n  color: #fff;\n"])),function(n){return n.$guaranteed?"#059669":"#d97706"}),ea=h.Ay.span(Tr||(Tr=qr(["\n  font-size: 13px;\n  color: #e0e0e0;\n  font-weight: 600;\n"]))),ta=h.Ay.div(Ir||(Ir=qr(["\n  display: flex;\n  align-items: flex-end;\n  gap: 24px;\n  padding: 12px 24px 16px;\n  flex-shrink: 0;\n  background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, transparent 100%);\n\n  @media (max-width: 768px) {\n    gap: 12px;\n    padding: 8px 12px 12px;\n  }\n"]))),ra=h.Ay.div(Or||(Or=qr(["\n  display: flex;\n  gap: 6px;\n  align-items: center;\n  flex-shrink: 0;\n"]))),ia=h.Ay.div(Mr||(Mr=qr(["\n  width: 44px;\n  height: 44px;\n  border-radius: 8px;\n  overflow: hidden;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background-color: rgba(0, 0, 0, 0.2);\n  border: 1px solid rgba(255, 255, 255, 0.1);\n"]))),oa=h.Ay.div(Pr||(Pr=qr(["\n  width: 40px;\n  height: 40px;\n  border-radius: 6px;\n  background-color: rgba(0, 0, 0, 0.15);\n  border: 1px dashed rgba(255, 255, 255, 0.15);\n"]))),aa=h.Ay.div(jr||(jr=qr(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  max-width: 400px;\n"]))),la=h.Ay.div($r||($r=qr(["\n  height: 22px;\n  background-color: ",";\n  border-radius: 3px;\n  overflow: hidden;\n  position: relative;\n  border: 1px solid ",";\n"])),function(n){return"hp"===n.$type?"rgba(90, 26, 26, 0.8)":"rgba(26, 58, 90, 0.8)"},function(n){return"hp"===n.$type?"rgba(239, 68, 68, 0.2)":"rgba(41, 182, 246, 0.2)"}),ua=h.Ay.div(Rr||(Rr=qr(["\n  height: 100%;\n  width: ","%;\n  background: ",";\n  transition: width 0.5s ease-out;\n  ","\n"])),function(n){return n.$percent},function(n){return"hp"===n.$type?"linear-gradient(90deg, #c62828, #ef5350)":"linear-gradient(90deg, #0277bd, #29b6f6)"},function(n){var e=n.$type,t=n.$percent;return"hp"===e&&t<20&&(0,h.AH)(Lr||(Lr=qr(["\n      animation: "," 1s infinite;\n    "])),ei)}),ca=h.Ay.span(Dr||(Dr=qr(["\n  position: absolute;\n  inset: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 12px;\n  font-weight: 700;\n  color: #fff;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);\n"]))),sa=t(34098);function da(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function pa(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}var fa=(0,h.i7)(li||(li=pa(["\n  0%, 100% { box-shadow: 0 0 0 rgba(var(--primaryColorRGB, 59, 130, 246), 0); }\n  50% { box-shadow: 0 0 8px rgba(var(--primaryColorRGB, 59, 130, 246), 0.4); }\n"]))),ma=(0,h.i7)(ui||(ui=pa(["\n  0% { background-position: -200% center; }\n  100% { background-position: 200% center; }\n"])));function ga(n){n.participants;var e=n.partyMembers,t=n.currentTurnUserId,r=n.currentUserId,i=n.slotsDisabled,o=n.skills,a=n.itemSlots,l=n.onUseSkill,u=n.onUseItem,c=n.onBasicAttack,s=n.isMyTurn,p=n.isProcessingTurn,f=n.skillCooldowns,g=void 0===f?{}:f,b=n.playerCurrentMp,x=void 0===b?0:b,v=n.playerAttack,y=void 0===v?0:v,h=n.attackMessage,E=n.onAttackMessageChange,w=n.monsters,A=void 0===w?[]:w,k=n.currentTargetMonsterId,S=n.onChangeTargetMonster,T=(0,hn.vc)(An.hT),I=(0,hn.vc)(An.w7),O=(0,d.useMemo)(function(){return(null==T?void 0:T.path)||m.Gf.PHOTOCARD},[null==T?void 0:T.path]),M=(0,Sn.A)({collectionPath:null!=T&&T.id?O:null,docId:(null==T?void 0:T.id)||null,listen:!0}).data,P=(0,d.useMemo)(function(){return o&&o.length>0?o:(n=null!=M?M:[],function(n){if(Array.isArray(n))return da(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return da(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?da(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).sort(function(n,e){return Number(n.order||0)-Number(e.order||0)});var n},[o,M]).slice(0,5),j=Math.max(0,5-P.length);return d.createElement(xa,null,d.createElement(va,null,d.createElement(ya,null,d.createElement(ha,null,e.filter(function(n){return!n.isMonster}).length,"명"),t&&d.createElement(Ea,null,"턴 진행중")),d.createElement(wa,null,e.length>0?e.map(function(n,e){var i=n.id===t,o=!n.isMonster&&n.id===r;return d.createElement(Aa,{key:n.id,$isCurrentTurn:i,$isMe:o,$isMonster:n.isMonster,$isAlive:n.isAlive},d.createElement(ka,null,d.createElement(Ta,{$isCurrentTurn:i,$isMe:o,$isMonster:n.isMonster,$isAlive:n.isAlive},n.name,o&&!n.isMonster&&d.createElement(Ia,null,"나"),!n.isAlive&&d.createElement(Oa,null,"사망")),d.createElement(Sa,{$isMonster:n.isMonster,$isMe:o})),d.createElement(Ca,null,n.isMonster?d.createElement(Ma,{$isAlive:n.isAlive},n.imgURL?d.createElement(ja,{src:n.imgURL,alt:n.name,$isAlive:n.isAlive}
1):d.createElement($a,null,n.isAlive?"👹":"💀")):n.photoURL?d.createElement(Pa,null,d.createElement(ja,{src:n.photoURL,alt:n.name,$isAlive:n.isAlive})):d.createElement(sa.A,{uid:n.id,avatarSize:"42",shape:"token",noLink:!0}),d.createElement(Ra,{$isCurrentTurn:i,$isMonster:n.isMonster},e+1)))}):[1,2,3,4].map(function(n){return d.createElement(Aa,{key:n,$isCurrentTurn:1===n,$isAlive:!0},d.createElement(ka,null,d.createElement(Ta,{$isCurrentTurn:1===n},"파티원명"),d.createElement(Sa,null)),d.createElement(Ca,null,d.createElement(La,null),d.createElement(Ra,{$isCurrentTurn:1===n},n)))}))),d.createElement(qa,null,d.createElement(Wa,null,"공격 메시지",d.createElement(Za,null,"선택")),d.createElement(Qa,{value:h,onChange:function(n){return E(n.target.value)},placeholder:"행동을 묘사해보세요...",maxLength:100})),A.length>0&&d.createElement(ll,null,d.createElement(ul,null,"타게팅"),d.createElement(cl,null,A.map(function(n){return d.createElement(sl,{key:n.id,$active:k===n.id,onClick:function(){return null==S?void 0:S(n.id)},disabled:!S},n.title)}))),d.createElement(nl,null,d.createElement(el,{onClick:c,disabled:i,$isMyTurn:!!s&&!p},d.createElement(tl,null,"⚔"),d.createElement(rl,null,d.createElement(il,null,"기본공격"),y>0&&d.createElement(ol,null,"ATK ",y)),!!s&&!p&&d.createElement(al,null,"행동"))),d.createElement(Da,null,d.createElement(za,null,"스킬",(null==I?void 0:I.title)&&d.createElement(Ua,null,I.title)),d.createElement(Na,null,P.map(function(n,e){var t,r=n.id||"",o=g[r]||0,a=null!==(t=n.mpCost)&&void 0!==t?t:Math.abs(n[C.J.MP]||0),u=a>0&&x<a,c=o>0,f=i||c||u,m=n.skillType,b=m?vn.Xb[m]:"";return d.createElement(ht.A,{key:r||"skill-".concat(e),message:"".concat(n.title).concat(b?" (".concat(b,")"):"").concat(a>0?" | MP: ".concat(a):"").concat(n.contents?"\n".concat(n.contents):"")},d.createElement(Fa,{disabled:f,onClick:function(){return l(r,e)},$hasSkill:!0,$isMyTurn:!!s&&!p,$isMpInsufficient:u},n.imgURL?d.createElement(Ga,{src:n.imgURL,alt:n.title}):d.createElement(Ba,null,n.title),m&&d.createElement(Va,{$skillType:m},m===vn.b0.SINGLE_ATTACK?"단":m===vn.b0.AOE_ATTACK?"광":m===vn.b0.SINGLE_HEAL?"힐":"광힐"),c&&d.createElement(Ja,null,d.createElement(Ya,null,o)),a>0&&!c&&d.createElement(Xa,{$insufficient:u},a)))}),Array.from({length:j},function(n,e){return d.createElement(Ha,{key:"empty-skill-".concat(e),disabled:!0},"스킬".concat(P.length+e+1))}))),d.createElement(Da,null,d.createElement(za,null,"소모품",(null==I?void 0:I.title)&&d.createElement(Ua,null,I.title)),d.createElement(Na,null,a.map(function(n){return!n.isEmpty&&n.imgURL?d.createElement(ht.A,{key:n.index,message:n.name},d.createElement(Fa,{disabled:i,onClick:function(){return u(n.index)},$hasSkill:!0,$isMyTurn:!!s&&!p},d.createElement(Ga,{src:n.imgURL,alt:n.name}))):d.createElement(Ha,{key:n.index,disabled:i||n.isEmpty,onClick:function(){return u(n.index)},$isItem:!0},n.isEmpty?"슬롯\n".concat(n.index+1):n.name)}))),p&&d.createElement(_a,null,d.createElement(Ka,null,"처리 중...")))}var ba=d.memo(ga),xa=h.Ay.aside(ci||(ci=pa(["\n  display: flex;\n  flex-direction: column;\n  background: rgba(0, 0, 0, 0.55);\n  backdrop-filter: blur(10px);\n  -webkit-backdrop-filter: blur(10px);\n  border-left: 1px solid rgba(255, 255, 255, 0.08);\n  padding: 16px 12px;\n  gap: 16px;\n  overflow-y: auto;\n  position: relative;\n  ","\n\n  @media (max-width: 768px) {\n    order: 3;\n    border-left: none;\n    border-top: 1px solid rgba(255, 255, 255, 0.08);\n    padding: 12px;\n    gap: 12px;\n    max-height: none;\n  }\n"])),Se.kM),va=h.Ay.div(si||(si=pa(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  flex: 1;\n"]))),ya=h.Ay.div(di||(di=pa(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;
1\n"]))),ha=h.Ay.span(pi||(pi=pa(["\n  font-size: 13px;\n  font-weight: 700;\n  color: rgba(255, 255, 255, 0.7);\n"]))),Ea=h.Ay.span(fi||(fi=pa(["\n  font-size: 11px;\n  font-weight: 600;\n  color: var(--primaryColor);\n  padding: 2px 8px;\n  border-radius: 10px;\n  background-color: rgba(255, 255, 255, 0.1);\n"]))),wa=h.Ay.div(mi||(mi=pa(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),Aa=h.Ay.div(gi||(gi=pa(["\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 6px 8px;\n  border-radius: 6px;\n  /* 사망: 0.3 / 현재턴: 1 / 나: 0.85 (살짝 강조) / 일반: 0.45 */\n  opacity: ",";\n  transition: all 0.3s;\n  border: 1px solid ",";\n  ","\n"])),function(n){var e=n.$isCurrentTurn,t=n.$isMe;return!1===n.$isAlive?.3:e?1:t?.85:.45},function(n){var e=n.$isCurrentTurn,t=n.$isMonster;return e&&t?"rgba(239,68,68,0.5)":e?"rgba(255,255,255,0.25)":"transparent"},function(n){var e=n.$isCurrentTurn,t=n.$isMonster;return e&&(0,h.AH)(bi||(bi=pa(["\n      background-color: ",";\n      animation: "," 2s infinite;\n    "])),t?"rgba(239,68,68,0.08)":"rgba(255, 255, 255, 0.07)",fa)}),ka=h.Ay.div(xi||(xi=pa(["\n  flex: 1;\n  min-width: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 5px;\n"]))),Sa=h.Ay.div(vi||(vi=pa(["\n  height: 3px;\n  border-radius: 2px;\n  background: ",";\n  width: 100%;\n"])),function(n){return n.$isMonster?"linear-gradient(90deg, rgba(239,68,68,0.8), rgba(239,68,68,0.1))":"linear-gradient(90deg, rgba(255,255,255,0.35), rgba(255,255,255,0.03))"}),Ca=h.Ay.div(yi||(yi=pa(["\n  position: relative;\n  flex-shrink: 0;\n"]))),Ta=h.Ay.span(hi||(hi=pa(["\n  font-size: 12px;\n  font-weight: ",";\n  color: ",";\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: flex;\n  align-items: center;\n  gap: 4px;\n  ","\n"])),function(n){return n.$isCurrentTurn?700:400},function(n){var e=n.$isMonster,t=n.$isCurrentTurn;return e?"#f87171":t?"#fff":"rgba(255, 255, 255, 0.85)"},function(n){return!1===n.$isAlive&&(0,h.AH)(Ei||(Ei=pa(["\n      text-decoration: line-through;\n    "])))}),Ia=h.Ay.span(wi||(wi=pa(["\n  font-size: 9px;\n  font-weight: 500;\n  color: rgba(255, 255, 255, 0.45);\n  padding: 0 2px;\n  flex-shrink: 0;\n"]))),Oa=h.Ay.span(Ai||(Ai=pa(["\n  font-size: 9px;\n  color: #ef4444;\n  font-weight: 700;\n  background-color: rgba(239, 68, 68, 0.1);\n  padding: 1px 4px;\n  border-radius: 3px;\n"]))),Ma=h.Ay.div(ki||(ki=pa(["\n  width: 42px;\n  height: 42px;\n  border-radius: 50%;\n  background-color: ",";\n  flex-shrink: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  overflow: hidden;\n  transition: background-color 0.3s;\n  border: 1px solid ",";\n"])),function(n){return!1===n.$isAlive?"#555":"rgba(20,10,10,0.7)"},function(n){return!1===n.$isAlive?"rgba(255,255,255,0.1)":"rgba(239,68,68,0.4)"}),Pa=h.Ay.div(Si||(Si=pa(["\n  width: 42px;\n  height: 42px;\n  border-radius: 50%;\n  overflow: hidden;\n  flex-shrink: 0;\n  border: 1px solid rgba(255, 255, 255, 0.2);\n  background: rgba(255, 255, 255, 0.05);\n"]))),ja=h.Ay.img(Ci||(Ci=pa(["\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  object-position: top center;\n  filter: ",";\n  transition: filter 0.3s;\n"])),function(n){return!1===n.$isAlive?"grayscale(1) brightness(0.5)":"none"}),$a=h.Ay.span(Ti||(Ti=pa(["\n  font-size: 20px;\n  line-height: 1;\n"]))),Ra=h.Ay.div(Ii||(Ii=pa(["\n  position: absolute;\n  top: -5px;\n  right: -5px;\n  width: 18px;\n  height: 18px;\n  border-radius: 4px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 10px;\n  font-weight: 700;\n  transition: all 0.3s;\n  background: ",";\n  color: ",";\n  border: 1px solid ",";\n"])),function(n){var e=n.$isCurrentTurn,t=n.$isMonster;return e?t?"#ef4444":"#ffffff":"rgba(20, 20, 30, 0.85)"},function(n){var e=n.$isCurrentTurn,t=n.$isMonster;return e?t?"#fff":"#000":"rgba(255,255,255,0.55)"},function(n){return n.$isCurrentTurn?"rgba(255,255,255,0.9)":"rgba(255,255,255,0.25)"}),La=h.Ay.div(Oi||(Oi=pa(["\n  width: 42px;\n  height: 42px;\n  border-radius: 50%;\n  background-color: rgba(255, 255, 255, 0.12);\n  border: 1px solid rgba(255, 255, 255, 0.15);\n  flex-shrink: 0;\n"]))),Da=h.Ay.div(Mi||(Mi=pa(["\n  flex-shrink: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),za=h.Ay.span(Pi||(Pi=pa(["\n  font-size: 11px;\n  font-weight: 700;\n  color: rgba(255, 255, 255, 0.45);\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n  display: flex;\n  align-items: center;\n  gap: 6px;\n"]))),Ua=h.Ay.span(ji||(ji=pa(["\n  font-size: 10px;\n  font-weight: 600;\n  color: var(--primaryColor);\n  text-transform: none;\n  letter-spacing: 0;\n  background-color: rgba(var(--primaryColorRGB, 59, 130, 246), 0.1);\n  padding: 1px 6px;\n  border-radius: 8px;\n"]))),Na=h.Ay.div($i||($i=pa(["\n  display: flex;\n  gap: 6px;\n  flex-wrap: wrap;
1\n"]))),Ha=h.Ay.button(Ri||(Ri=pa(["\n  flex: 1;\n  min-width: 0;\n  padding: 10px 4px;\n  border-radius: 8px;\n  border: 1px solid ",";\n  background-color: ",";\n  color: ",";\n  font-size: 11px;\n  font-weight: 600;\n  font-family: var(--defaultFontFamily);\n  cursor: ",";\n  text-align: center;\n  white-space: pre-line;\n  line-height: 1.3;\n  transition: all 0.15s;\n\n  &:hover:not(:disabled) {\n    background-color: rgba(255, 255, 255, 0.22);\n    border-color: rgba(255, 255, 255, 0.35);\n    transform: translateY(-1px);\n  }\n\n  &:active:not(:disabled) {\n    transform: translateY(0);\n  }\n"])),function(n){return n.disabled?"rgba(255,255,255,0.08)":"rgba(255,255,255,0.2)"},function(n){return n.disabled?"rgba(255,255,255,0.05)":"rgba(255,255,255,0.12)"},function(n){return n.disabled?"rgba(255,255,255,0.25)":"rgba(255,255,255,0.85)"},function(n){return n.disabled?"not-allowed":"pointer"}),Fa=h.Ay.button(Li||(Li=pa(["\n  position: relative;\n  flex: 1;\n  min-width: 0;\n  height: 48px;\n  padding: 4px;\n  border-radius: 8px;\n  border: 1px solid ",";\n  background-color: ",";\n  cursor: ",";\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  overflow: hidden;\n  transition: all 0.15s;\n\n  ","\n\n  ","\n\n  &:hover:not(:disabled) {\n    background-color: rgba(255, 255, 255, 0.22);\n    border-color: var(--primaryColor);\n    transform: translateY(-1px);\n  }\n\n  &:active:not(:disabled) {\n    transform: translateY(0);\n  }\n"])),function(n){var e=n.disabled,t=n.$isMyTurn;return e?"rgba(255,255,255,0.08)":t?"var(--primaryColor)":"rgba(255,255,255,0.2)"},function(n){return n.disabled?"rgba(255,255,255,0.05)":"rgba(255,255,255,0.12)"},function(n){return n.disabled?"not-allowed":"pointer"},function(n){var e=n.$isMyTurn,t=n.disabled;return e&&!t&&(0,h.AH)(Di||(Di=pa(["\n      border-color: var(--primaryColor);\n      box-shadow: 0 0 8px rgba(var(--primaryColorRGB, 59, 130, 246), 0.4);\n    "])))},function(n){return n.$isMpInsufficient&&(0,h.AH)(zi||(zi=pa(["\n      border-color: rgba(239, 68, 68, 0.7);\n    "])))}),Ga=h.Ay.img(Ui||(Ui=pa(["\n  width: 36px;\n  height: 36px;\n  border-radius: 6px;\n  object-fit: cover;\n"]))),Ba=h.Ay.span(Ni||(Ni=pa(["\n  font-size: 10px;\n  font-weight: 600;\n  color: rgba(255, 255, 255, 0.85);\n  text-align: center;\n  line-height: 1.2;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),_a=h.Ay.div(Hi||(Hi=pa(["\n  position: absolute;\n  inset: 0;\n  background-color: rgba(0, 0, 0, 0.6);\n  backdrop-filter: blur(4px);\n  -webkit-backdrop-filter: blur(4px);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  z-index: 10;
1\n"]))),Ka=h.Ay.span(Fi||(Fi=pa(["\n  font-size: 14px;\n  font-weight: 700;\n  color: #fff;\n  padding: 8px 20px;\n  border-radius: 8px;\n  background: linear-gradient(\n    90deg,\n    transparent,\n    rgba(255, 255, 255, 0.15),\n    transparent\n  );\n  background-size: 200% 100%;\n  animation: "," 1.5s infinite;\n"])),ma),Va=h.Ay.span(Gi||(Gi=pa(["\n  position: absolute;\n  top: 2px;\n  left: 2px;\n  font-size: 8px;\n  font-weight: 800;\n  padding: 1px 3px;\n  border-radius: 3px;\n  line-height: 1;\n  color: #fff;\n  background-color: ",";\n"])),function(n){switch(n.$skillType){case"SINGLE_ATTACK":return"#3b82f6";case"AOE_ATTACK":return"#f59e0b";case"SINGLE_HEAL":return"#22c55e";case"AOE_HEAL":return"#10b981";default:return"#888"}}),Ja=h.Ay.div(Bi||(Bi=pa(["\n  position: absolute;\n  inset: 0;\n  background-color: rgba(0, 0, 0, 0.6);\n  border-radius: 7px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n"]))),Ya=h.Ay.span(_i||(_i=pa(["\n  font-size: 18px;\n  font-weight: 900;\n  color: #fff;\n"]))),Xa=h.Ay.span(Ki||(Ki=pa(["\n  position: absolute;\n  bottom: 2px;\n  right: 2px;\n  font-size: 8px;\n  font-weight: 700;\n  padding: 1px 4px;\n  border-radius: 3px;\n  line-height: 1;\n  background-color: ",";\n  color: #fff;\n"])),function(n){return n.$insufficient?"rgba(239, 68, 68, 0.8)":"rgba(59, 130, 246, 0.7)"}),qa=h.Ay.div(Vi||(Vi=pa(["\n  flex-shrink: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 5px;\n"]))),Wa=h.Ay.span(Ji||(Ji=pa(["\n  font-size: 11px;\n  font-weight: 700;\n  color: rgba(255, 255, 255, 0.45);\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n  display: flex;\n  align-items: center;\n  gap: 5px;\n"]))),Za=h.Ay.span(Yi||(Yi=pa(["\n  font-size: 9px;\n  font-weight: 500;\n  color: rgba(255, 255, 255, 0.25);\n  text-transform: none;\n  letter-spacing: 0;\n  padding: 1px 5px;\n  border-radius: 8px;\n  border: 1px solid rgba(255, 255, 255, 0.12);\n"]))),Qa=h.Ay.textarea(Xi||(Xi=pa(["\n  width: 100%;\n  padding: 8px 10px;\n  background: rgba(255, 255, 255, 0.07);\n  border: 1px solid rgba(255, 255, 255, 0.12);\n  border-radius: 6px;\n  color: rgba(255, 255, 255, 0.85);\n  font-size: 12px;\n  font-family: var(--defaultFontFamily);\n  line-height: 1.5;\n  resize: none;\n  min-height: 52px;\n  max-height: 80px;\n  box-sizing: border-box;\n  transition: border-color 0.15s, background 0.15s;\n\n  &::placeholder {\n    color: rgba(255, 255, 255, 0.25);\n  }\n\n  &:focus {\n    outline: none;\n    border-color: rgba(255, 255, 255, 0.3);\n    background: rgba(255, 255, 255, 0.1);\n  }\n"]))),nl=h.Ay.div(qi||(qi=pa(["\n  flex-shrink: 0;\n"]))),el=h.Ay.button(Wi||(Wi=pa(["\n  width: 100%;\n  box-sizing: border-box;\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 10px 12px;\n  border-radius: 8px;\n  border: 1px solid ",";\n  background: ",";\n  cursor: ",";\n  opacity: ",";\n  transition: all 0.15s;\n  font-family: var(--defaultFontFamily);\n\n  ","\n\n  &:hover:not(:disabled) {\n    background: ",";\n    border-color: ",";\n    transform: translateY(-1px);\n  }\n\n  &:active:not(:disabled) {\n    transform: translateY(0);\n  }\n"])),function(n){return n.$isMyTurn?"rgba(var(--primaryColorRGB, 59, 130, 246), 0.5)":"rgba(255, 255, 255, 0.12)"},function(n){return n.$isMyTurn?"rgba(var(--primaryColorRGB, 59, 130, 246), 0.12)":"rgba(255, 255, 255, 0.06)"},function(n){return n.disabled?"not-allowed":"pointer"},function(n){return n.disabled?.45:1},function(n){return n.$isMyTurn&&(0,h.AH)(Zi||(Zi=pa(["\n      box-shadow: 0 0 10px rgba(var(--primaryColorRGB, 59, 130, 246), 0.15);\n    "])))},function(n){return n.$isMyTurn?"rgba(var(--primaryColorRGB, 59, 130, 246), 0.2)":"rgba(255, 255, 255, 0.12)"},function(n){return n.$isMyTurn?"rgba(var(--primaryColorRGB, 59, 130, 246), 0.7)":"rgba(255, 255, 255, 0.25)"}),tl=h.Ay.span(Qi||(Qi=pa(["\n  font-size: 20px;\n  flex-shrink: 0;\n  line-height: 1;\n"]))),rl=h.Ay.div(no||(no=pa(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  gap: 2px;\n  min-width: 0;\n"]))),il=h.Ay.span(eo||(eo=pa(["\n  font-size: 13px;\n  font-weight: 700;\n  color: rgba(255, 255, 255, 0.9);\n  letter-spacing: 0.3px;\n"]))),ol=h.Ay.span(to||(to=pa(["\n  font-size: 10px;\n  font-weight: 600;\n  color: rgba(255, 255, 255, 0.4);\n  letter-spacing: 0.5px;\n"]))),al=h.Ay.span(ro||(ro=pa(["\n  flex-shrink: 0;\n  font-size: 9px;\n  font-weight: 700;\n  color: var(--primaryColor);\n  padding: 2px 7px;\n  border-radius: 8px;\n  background: rgba(var(--primaryColorRGB, 59, 130, 246), 0.15);\n  border: 1px solid rgba(var(--primaryColorRGB, 59, 130, 246), 0.3);\n  letter-spacing: 0.5px;\n"]))),ll=h.Ay.div(io||(io=pa(["\n  flex-shrink: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),ul=h.Ay.span(oo||(oo=pa(["\n  font-size: 11px;\n  font-weight: 700;\n  color: rgba(255, 255, 255, 0.45);\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n"]))),cl=h.Ay.div(ao||(ao=pa(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n"]))),sl=h.Ay.button(lo||(lo=pa(["\n  padding: 4px 8px;\n  border-radius: 999px;\n  border: 1px solid\n    ",";\n  background: ",";\n  color: ",";\n  font-size: 11px;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.15s;\n  font-family: var(--defaultFontFamily);\n\n  &:hover:not(:disabled) {\n    border-color: rgba(var(--primaryColorRGB, 59, 130, 246), 0.7);\n    background: rgba(var(--primaryColorRGB, 59, 130, 246), 0.16);\n  }\n"])),function(n){return n.$active?"rgba(var(--primaryColorRGB, 59, 130, 246), 0.7)":"rgba(255,255,255,0.2)"},function(n){return n.$active?"rgba(var(--primaryColorRGB, 59, 130, 246), 0.2)":"rgba(255,255,255,0.08)"},function(n){return n.$active?"#fff":"rgba(255,255,255,0.8)"}),dl=t(52771),pl=t(45547),fl=t(85444),ml=t(83182),gl=t(20601);function bl(n){var e=n.show,t=n.raidData,r=n.raidId,i=n.participants,o=n.onClose;return d.createElement(ml.N,null,e&&d.createElement(dl.A,{outsideClick:o,contentStyle:{maxWidth:560,width:"92%"}},d.createElement(gl.w8,{raidId:r,raidData:t,participants:i,onSaveComplete:o,renderHeader:function(){return d.createElement(pl.rQ,null,d.createElement(fl.A,{onClick:o}),d.createElement("div",{style:{textAlign:"left"}},d.createElement("h6",null,"레이드 설정")),d.createElement("div",null))}})))}var xl,vl,yl,hl,El,wl,Al,kl,Sl,Cl,Tl,Il,Ol=d.memo(bl),Ml=t(33726);function Pl(n){return Pl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Pl(n)}function jl(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function $l(n,e,t){return(e=function(n){var e=function(n){if("object"!=Pl(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=Pl(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==Pl(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Rl=($l(xl={},g.C4.SCHEDULED,{label:"레이드 예고",color:"#fff"}),$l(xl,g.C4.IN_PROGRESS,{label:"레이드 진행중",color:"rgba(100, 220, 160, 0.95)"}),$l(xl,g.C4.COMPLETED,{label:"완료된 레이드",color:"rgba(180, 180, 200, 0.7)"}),xl);function Ll(n){var e,t=n.raidData,r=(0,d.useMemo)(function(){var n;return(0,Ml.H)({description:t.description,scheduledStartTime:null!==(n=t.scheduledStartTime)&&void 0!==n?n:null,areaName:t.areaName,title:t.title})},[t.description,t.scheduledStartTime,t.areaName,t.title]),i=null!==(e=Rl[t.status])&&void 0!==e?e:Rl[g.C4.SCHEDULED];return d.createElement(Ql,null,d.createElement(nu,{$color:i.color},i.label),t.areaName&&d.createElement(eu,null,t.areaName),d.createElement(tu,null,d.createElement(ru,null),d.createElement(iu,null,r)))}var Dl,zl,Ul,Nl,Hl,Fl,Gl,Bl,_l,Kl,Vl,Jl,Yl,Xl,ql=d.memo(Ll),Wl=((0,h.i7)(vl||(vl=jl(["\n  0%, 100% { opacity: 0.55; transform: rotate(45deg) scale(1); }\n  50% { opacity: 1; transform: rotate(45deg) scale(1.1); }\n"]))),(0,h.i7)(yl||(yl=jl(["\n  0%   { opacity: 0; left: -60%; }\n  25%  { opacity: 1; }\n  75%  { opacity: 1; }\n  100% { opacity: 0; left: 110%; }\n"])))),Zl=(0,h.i7)(hl||(hl=jl(["\n  from { opacity: 0; transform: translate(-50%, -50%) scale(0.96); }\n  to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }\n"]))),Ql=h.Ay.div(El||(El=jl(["\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  z-index: 1;\n\n  width: min(680px, 90%);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 14px;\n\n  animation: "," 0.5s ease-out both;\n"])),Zl),nu=(h.Ay.div(wl||(wl=jl(["\n  width: 100%;\n  height: 1px;\n  background: linear-gradient(\n    90deg,\n    transparent 0%,\n    rgba(180, 180, 200, 0.18) 10%,\n    rgba(200, 200, 220, 0.5) 50%,\n    rgba(180, 180, 200, 0.18) 90%,\n    transparent 100%\n  );\n  filter: blur(0.5px);\n  position: relative;\n\n  &::after {\n    content: '';\n    position: absolute;\n    inset: -4px 0;\n    background: inherit;\n    filter: blur(5px);\n    opacity: 0.45;\n  }\n"]))),h.Ay.h2(Al||(Al=jl(["\n  margin: 0;\n  font-size: 26px;\n  font-weight: 800;\n  color: ",";\n  letter-spacing: 6px;\n  white-space: nowrap;\n  text-shadow:\n    0 0 6px ",",\n    0 0 20px rgba(200, 200, 255, 0.5),\n    0 0 44px rgba(160, 160, 240, 0.25);\n  transition: color 0.4s ease, text-shadow 0.4s ease;\n  position: relative;\n\n  &::after {\n    content: '';\n    position: absolute;\n    bottom: -5px;\n    left: 50%;\n    transform: translateX(-50%);\n    width: 55%;\n    height: 1px;\n    background: linear-gradient(\n      90deg,\n      transparent,\n      ",",\n      transparent\n    );\n    transition: background 0.4s ease;\n  }\n"])),function(n){var e=n.$color;return null!=e?e:"#fff"},function(n){var e=n.$color;return null!=e?e:"rgba(255,255,255,1)"},function(n){var e=n.$color;return null!=e?e:"rgba(255,255,255,0.45)"})),eu=h.Ay.span(kl||(kl=jl(["\n  font-size: 10px;\n  font-weight: 600;\n  color: rgba(255, 255, 255, 0.8);\n  letter-spacing: 2.5px;\n  text-transform: uppercase;\n  padding: 3px 14px;\n  margin: 12px 0;\n  border: 1px solid rgba(255, 255, 255, 0.25);\n  border-radius: 2px;\n  background: rgba(255, 255, 255, 0.06);\n"]))),tu=h.Ay.div(Sl||(Sl=jl(["\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n  padding: 12px 20px;\n  background: linear-gradient(\n    90deg,\n    rgba(0, 0, 0, 0) 0%,\n    rgba(8, 8, 18, 0.72) 15%,\n    rgba(12, 12, 24, 0.88) 50%,\n    rgba(8, 8, 18, 0.72) 85%,\n    rgba(0, 0, 0, 0) 100%\n  );\n"]))),ru=h.Ay.span(Cl||(Cl=jl(["\n  position: absolute;\n  top: 0;\n  left: -60%;\n  width: 50%;\n  height: 100%;\n  background: linear-gradient(\n    90deg,\n    transparent,\n    rgba(255, 255, 255, 0.04),\n    transparent\n  );\n  animation: "," 4s ease-in-out 0.8s infinite;\n  pointer-events: none;\n"])),Wl),iu=h.Ay.p(Tl||(Tl=jl(["\n  margin: 0;\n  text-align: center;\n  font-size: 12px;\n  line-height: 1.7;\n  color: rgba(255, 255, 255, 0.8);\n  letter-spacing: 0.4px;\n"])));function ou(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function au(n){var e,t,r=n.raidData,i=null!==(e=null===(t=r.participants)||void 0===t?void 0:t.length)&&void 0!==e?e:0;return d.createElement(du,null,d.createElement(pu,null,d.createElement(fu,null),d.createElement(mu,null,"LIVE")),d.createElement(gu,null,"레이드 진행중"),r.areaName&&d.createElement(bu,null,r.areaName),d.createElement(xu,null,d.createElement(vu,null),d.createElement(yu,null,d.createElement(hu,null,r.title)," 레이드가 현재 진행 중입니다.",i>0&&d.createElement(d.Fragment,null," · 참가자 ",d.createElement(hu,null,i,"명")))),d.createElement(Eu,null,"전투 참여하기 버튼을 눌러 레이드에 합류하세요."))}h.Ay.strong(Il||(Il=jl(["\n  color: #fff;\n  font-weight: 700;\n"])));var lu=d.memo(au),uu=(0,h.i7)(Dl||(Dl=ou(["\n  from { opacity: 0; transform: translate(-50%, -50%) scale(0.96); }\n  to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }\n"]))),cu=(0,h.i7)(zl||(zl=ou(["\n  0%   { opacity: 0; left: -60%; }\n  25%  { opacity: 1; }\n  75%  { opacity: 1; }\n  100% { opacity: 0; left: 110%; }\n"]))),su=(0,h.i7)(Ul||(Ul=ou(["\n  0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }\n  50% { opacity: 0.7; transform: scale(1.15); box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); }\n"]))),du=h.Ay.div(Nl||(Nl=ou(["\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  z-index: 1;\n\n  width: min(680px, 90%);\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 14px;\n\n  animation: "," 0.5s ease-out both;\n"])),uu),pu=h.Ay.div(Hl||(Hl=ou(["\n  display: flex;\n  align-items: center;\n  gap: 6px;
1\n"]))),fu=h.Ay.span(Fl||(Fl=ou(["\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background-color: #ef4444;\n  animation: "," 1.6s ease-in-out infinite;\n"])),su),mu=h.Ay.span(Gl||(Gl=ou(["\n  font-size: 11px;\n  font-weight: 800;\n  color: #ef4444;\n  letter-spacing: 2px;\n  text-shadow: 0 0 8px rgba(239, 68, 68, 0.6);\n"]))),gu=h.Ay.h2(Bl||(Bl=ou(["\n  margin: 0;\n  font-size: 26px;\n  font-weight: 800;\n  color: #fff;\n  letter-spacing: 6px;\n  white-space: nowrap;\n  text-shadow:\n    0 0 6px rgba(255, 255, 255, 0.9),\n    0 0 20px rgba(255, 160, 100, 0.5),\n    0 0 44px rgba(239, 68, 68, 0.25);\n  position: relative;\n\n  &::after {\n    content: '';\n    position: absolute;\n    bottom: -5px;\n    left: 50%;\n    transform: translateX(-50%);\n    width: 55%;\n    height: 1px;\n    background: linear-gradient(\n      90deg,\n      transparent,\n      rgba(239, 68, 68, 0.5),\n      transparent\n    );\n  }\n"]))),bu=h.Ay.span(_l||(_l=ou(["\n  font-size: 10px;\n  font-weight: 600;\n  color: rgba(255, 180, 150, 0.8);\n  letter-spacing: 2.5px;\n  text-transform: uppercase;\n  padding: 3px 14px;\n  margin: 12px 0;\n  border: 1px solid rgba(239, 68, 68, 0.25);\n  border-radius: 2px;\n  background: rgba(239, 68, 68, 0.05);\n"]))),xu=h.Ay.div(Kl||(Kl=ou(["\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n  padding: 12px 20px;\n  background: linear-gradient(\n    90deg,\n    rgba(0, 0, 0, 0) 0%,\n    rgba(20, 5, 5, 0.72) 15%,\n    rgba(28, 8, 8, 0.88) 50%,\n    rgba(20, 5, 5, 0.72) 85%,\n    rgba(0, 0, 0, 0) 100%\n  );\n"]))),vu=h.Ay.span(Vl||(Vl=ou(["\n  position: absolute;\n  top: 0;\n  left: -60%;\n  width: 50%;\n  height: 100%;\n  background: linear-gradient(\n    90deg,\n    transparent,\n    rgba(239, 68, 68, 0.06),\n    transparent\n  );\n  animation: "," 4s ease-in-out 0.8s infinite;\n  pointer-events: none;\n"])),cu),yu=h.Ay.p(Jl||(Jl=ou(["\n  margin: 0;\n  text-align: center;\n  font-size: 12px;\n  line-height: 1.7;\n  color: rgba(218, 195, 195, 0.8);\n  letter-spacing: 0.4px;\n"]))),hu=h.Ay.strong(Yl||(Yl=ou(["\n  color: #fff;\n  font-weight: 700;\n"]))),Eu=h.Ay.p(Xl||(Xl=ou(["\n  margin: 0;\n  font-size: 11px;\n  color: rgba(255, 255, 255, 0.3);\n  letter-spacing: 0.3px;\n"])));function wu(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t="number"==typeof n?n:Number(n);return Number.isFinite(t)?t:e}function Au(n){return function(n){if(Array.isArray(n))return ku(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return ku(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?ku(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ku(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function Su(n){var e=n.raidData,t=n.monsters,r=n.currentUserId,i=n.currentUserName,o=n.currentUserSpeed,a=e.participants||[],l=[];return a.forEach(function(n){var t,a,u,c=n===r;l.push({id:n,name:(null===(t=e.participantNames)||void 0===t?void 0:t[n])||(c?i||"나":"파티원"),speed:null!==(a=null===(u=e.participantSpeeds)||void 0===u?void 0:u[n])&&void 0!==a?a:c&&o||0,isMonster:!1})}),t.forEach(function(n){l.push({id:n.id,name:n.title,speed:n.speed||0,isMonster:!0})}),l}t(80577);var Cu=t(12642);function Tu(n){return Tu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Tu(n)}function Iu(n,e,t,r,i,o,a){try{var l=n[o](a),u=l.value}catch(n){return void t(n)}l.done?e(u):Promise.resolve(u).then(r,i)}function Ou(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var o=n.apply(e,t);function a(n){Iu(o,r,i,a,l,"next",n)}function l(n){Iu(o,r,i,a,l,"throw",n)}a(void 0)})}}function Mu(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),t.push.apply(t,r)}return t}function Pu(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};
1e%2?Mu(Object(t),!0).forEach(function(e){ju(n,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Mu(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})}return n}function ju(n,e,t){return(e=function(n){var e=function(n){if("object"!=Tu(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=Tu(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==Tu(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function $u(n){return function(n){if(Array.isArray(n))return Du(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||Lu(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ru(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,i,o,a,l=[],u=!0,c=!1;try{if(o=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=o.call(t)).done)&&(l.push(r.value),l.length!==e);u=!0);}catch(n){c=!0,i=n}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(n,e)||Lu(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lu(n,e){if(n){if("string"==typeof n)return Du(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Du(n,e):void 0}}function Du(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function zu(n){var e,t=n.raidId,r=n.raidData,i=(0,p.Zp)(),o=(0,hn.vc)(En.Bs),a=(0,hn.vc)(En.GI),l=(0,Cn.A)().openToast,u=(0,d.useMemo)(function(){return(null==r?void 0:r.monsterIds)||[]},[null==r?void 0:r.monsterIds]),c=(0,f.useCollection)(u.length>0?m.Gf.NPC:null,{listen:!0,where:u.length>0?["id","in",u.slice(0,10)]:void 0}).data,s=(0,d.useMemo)(function(){var n,e=null!==(n=r.monsterSnapshots)&&void 0!==n?n:c;return e&&0!==u.length?u.map(function(n){return e.find(function(e){return e.id===n})}).filter(function(n){return!!n}):[]},[c,u,r.monsterSnapshots]),b=(null==r?void 0:r.currentMonsterIndex)||0,x=(0,d.useMemo)(function(){return s[b]||null},[s,b]),v=Ru((0,d.useState)(""),2),y=v[0],h=v[1],E=Ru((0,d.useState)("idle"),2),w=E[0],A=E[1],k=Ru((0,d.useState)(0),2),I=k[0],O=k[1],M=Ru((0,d.useState)(!1),2),P=M[0],j=M[1],$=Ru((0,d.useState)(!1),2),R=$[0],L=$[1],D=(0,d.useRef)(null),z=Ru((0,d.useState)(""),2),U=z[0],N=z[1],H=Ru((0,d.useState)(!1),2),F=H[0],G=H[1],B=Ru((0,d.useState)(null),2),_=B[0],V=B[1],J=(0,d.useRef)(!1),Y=Ru((0,d.useState)(""),2),X=Y[0],q=Y[1],W=Ru((0,d.useState)({}),2),Z=W[0],Q=W[1],nn=Ru((0,d.useState)(""),2),en=nn[0],tn=nn[1],rn=Ru((0,d.useState)(0),2),on=rn[0],an=rn[1],ln=(0,d.useRef)(null),un=(0,d.useRef)(!1),cn=(0,d.useRef)(function(){}),sn=(null==r||null===(e=r.participants)||void 0===e?void 0:e.includes(o||""))||!1,dn=(0,d.useMemo)(function(){var n,e=null==r||null===(n=r.participants)||void 0===n?void 0:n[0];return!!o&&e===o},[null==r?void 0:r.participants,o]),pn=(0,hn.vc)(An.w7),fn=(0,hn.vc)(An.hT),mn=(0,f.useDocument)(o?"".concat(m.Gf.USERS,"/").concat(o):null,{listen:!0}).data,gn=(0,f.useCollection)(m.Gf.STATUS,{listen:!0,where:[["id","!=","statusSetting"]]}).data,Tn=null!=mn&&mn.representativePhotocardPath&&null!=mn&&mn.representativePhotocardId?"".concat(mn.representativePhotocardPath,"/").concat(mn.representativePhotocardId):null,In=(0,f.useDocument)(Tn,{listen:!0}).data||fn,On=(0,d.useMemo)(function(){return(null==In?void 0:In.path)||m.Gf.PHOTOCARD},[null==In?void 0:In.path]),Mn=(0,kn.N$)(null!=In&&In.id?On:null,(null==In?void 0:In.id)||null).bonuses,Pn="active"===w,jn=(0,d.useMemo)(function(){return null!=In&&In.id?"".concat(On,"/").concat(In.id,"/").concat(m.Gf.EQUIPMENT):null},[null==In?void 0:In.id,On]),$n=(0,f.useCollection)(jn,{listen:!0}).data,Rn=(0,d.useMemo)(function(){return[wn.wD.WEAPON,wn.wD.GLOVE,wn.wD.SHIRTS,wn.wD.JEANS,wn.wD.SHOES].map(function(n){var e=null==$n?void 0:$n.find(function(e){return e.id===n});return{type:n,label:wn.LF[n]||n,item:e||null}})},[$n]),Ln=(0,d.useMemo)(function(){var n=null==In?void 0:In[C.J.HP],e=null==In?void 0:In[C.J.MP],t=(null==In?void 0:In[C.J.DEFENSE])||5,r=(null==In?void 0:In[C.J.CRITICAL])||5,i=(null==In?void 0:In[C.J.SPEED])||1,o=Math.max(1,wu(n)+wu(Mn[C.J.HP])),a=Math.max(0,wu(e)+wu(Mn[C.J.MP]));return{hp:{current:Math.min(o,Math.max(0,wu(null==In?void 0:In.currentHp,o))),max:o},mp:{current:Math.min(a,Math.max(0,wu(null==In?void 0:In.currentMp,a))),max:a},attack:(0,Cu.lk)({character:In,equipmentBonuses:Mn,statusList:gn}),defense:wu(t)+wu(Mn[C.J.DEFENSE]),critical:wu(r)+wu(Mn[C.J.CRITICAL]),speed:wu(i)+wu(Mn[C.J.SPEED])}},[In,Mn,gn]),Dn=Ln.hp,zn=Ln.mp,Un=(0,Sn.A)({collectionPath:null!=In&&In.id?On:null,docId:(null==In?void 0:In.id)||null,listen:!0}).data,Nn=(0,d.useMemo)(function(){return $u(Un||[]).sort(function(n,e){return Number(n.order||0)-Number(e.order||0)})},[Un]),Hn=(0,d.useMemo)(function(){return(null==r?void 0:r.participants)||[]},[null==r?void 0:r.participants]),Fn=(0,d.useMemo)(function(){var n=new Map;Hn.forEach(function(e){var t,i,a,l,u=e===o,c=null==r||null===(t=r.participantNames)||void 0===t?void 0:t[e],s=null==r||null===(i=r.participantPhotos)||void 0===i?void 0:i[e],d=null!==(a=null==r||null===(l=r.participantSpeeds)||void 0===l?void 0:l[e])&&void 0!==a?a:0,p=u?(null==pn?void 0:pn.title)||c||"나":c||"파티원",f=u&&(null==pn?void 0:pn.thumbnail)||s,m=u?Ln.speed:d;n.set(e,{id:e,name:p,isMonster:!1,speed:m,isAlive:!0,photoURL:f})}
1),s.forEach(function(e){var t,i,o=null!==(t=null==r||null===(i=r.monsterCurrentHps)||void 0===i?void 0:i[e.id])&&void 0!==t?t:e.maxHp;n.set(e.id,{id:e.id,name:e.title,isMonster:!0,speed:e.speed||0,isAlive:o>0,imgURL:e.imgURL||void 0})});var e=null==r?void 0:r.turnOrder;if(e&&e.length>0){var t=[];return e.forEach(function(e){var r=n.get(e);r&&t.push(r)}),n.forEach(function(n){e.includes(n.id)||t.push(n)}),t}return Array.from(n.values()).sort(function(n,e){return e.speed-n.speed})},[Hn,o,pn,Ln.speed,s,null==r?void 0:r.monsterCurrentHps,null==r?void 0:r.participantNames,null==r?void 0:r.participantPhotos,null==r?void 0:r.participantSpeeds,null==r?void 0:r.turnOrder]),Gn=(0,d.useMemo)(function(){return(null==r?void 0:r.currentTurnUserId)===o},[null==r?void 0:r.currentTurnUserId,o]),Bn=(0,d.useMemo)(function(){var n=null==r?void 0:r.currentTurnUserId;return!!n&&u.includes(n)},[null==r?void 0:r.currentTurnUserId,u]),_n=(0,d.useMemo)(function(){return s.filter(function(n){var e,t;return(null!==(e=null==r||null===(t=r.monsterCurrentHps)||void 0===t?void 0:t[n.id])&&void 0!==e?e:n.maxHp)>0})},[s,null==r?void 0:r.monsterCurrentHps]),Kn=(0,d.useMemo)(function(){var n=_n.find(function(n){return n.id===y});return n||(_n.find(function(n){return n.id===(null==x?void 0:x.id)})||_n[0]||null)},[_n,y,null==x?void 0:x.id]);(0,d.useEffect)(function(){y||null==Kn||!Kn.id?y&&!_n.some(function(n){return n.id===y})&&h((null==Kn?void 0:Kn.id)||""):h(Kn.id)},[y,null==Kn?void 0:Kn.id,_n]);var Vn=(0,d.useMemo)(function(){return null!=In&&In.id?"".concat(On,"/").concat(In.id,"/inventory"):null},[null==In?void 0:In.id,On]),Jn=(0,f.useCollection)(Vn,{listen:!0}).data,Yn=(0,f.useCollection)(null!=In&&In.id?m.Gf.STORE:null,{listen:!0}).data,Xn=(0,d.useMemo)(function(){var n,e,t=null!==(n=null==In||null===(e=In.equippedConsumableIds)||void 0===e?void 0:e.slice(0,5))&&void 0!==n?n:[],r=new Map;null==Yn||Yn.forEach(function(n){n.id&&r.set(n.id,n)});var i=new Map;return null==Jn||Jn.forEach(function(n){n.id&&i.set(n.id,n)}),Array.from({length:5},function(n,e){var o=t[e];if(!o)return{index:e,name:"슬롯\n".concat(e+1),isEmpty:!0};var a=i.get(o),l=null!=a&&a.originItemID?r.get(a.originItemID):void 0;return{index:e,name:(null==l?void 0:l.title)||(null==a?void 0:a.title)||"아이템",isEmpty:!1,itemId:o,imgURL:(null==l?void 0:l.imgURL)||(null==a?void 0:a.imgURL)}})},[In,Jn,Yn]);(0,d.useEffect)(function(){if(r&&o)if(r.status===g.C4.IN_PROGRESS)fetch("http://127.0.0.1:7907/ingest/bc3fe1ff-98e9-4fb5-a190-cfcfcf1ae3b0",{method:"POST",headers:{"Content-Type":"application/json","X-Debug-Session-Id":"0269cc"},body:JSON.stringify({sessionId:"0269cc",location:"CooperativeBattle.tsx:403",message:"IN_PROGRESS branch: about to setLocalStatus",data:{raidStatus:r.status,currentLocalStatusAtClosureTime:"(stale-closure-cannot-read)",isAlreadyParticipating:sn,isMaster:a,rewardsLocked:J.current},hypothesisId:"A-B",runId:"run1",timestamp:Date.now()})}).catch(function(){}),A(sn||a?"active":"idle"),r.timeLimit&&O(60*r.timeLimit);else if(r.status===g.C4.COMPLETED){if(A("victory"),s.length>0&&!J.current){J.current=!0;var n=(0,yn.nb)(s);dn?(0,yn.ou)(t).then(function(e){V(Pu(Pu({},n),{},{stats:e}))}).catch(function(){V(n)}):V(n)}}else A("idle"),V(null),J.current=!1},[r,sn,s,o,t,dn,a]),(0,d.useEffect)(function(){return"active"===w&&I>0?D.current=setInterval(function(){O(function(n){return n<=1?(A("defeat"),0):n-1})},1e3):D.current&&clearInterval(D.current),function(){D.current&&clearInterval(D.current)}},[w,I]),(0,d.useEffect)(function(){if(fetch("http://127.0.0.1:7907/ingest/bc3fe1ff-98e9-4fb5-a190-cfcfcf1ae3b0",{method:"POST",headers:{"Content-Type":"application/json","X-Debug-Session-Id":"0269cc"},body:JSON.stringify({sessionId:"0269cc",location:"CooperativeBattle.tsx:449",message:"allDefeated effect triggered",data:{localStatus:w,monstersCount:s.length,monsterCurrentHps:null==r?void 0:r.monsterCurrentHps,currentBossHp:null==r?void 0:r.currentBossHp},hypothesisId:"A-C",runId:"run1",timestamp:Date.now()})}).catch(function(){}),"active"===w&&0!==s.length&&s.every(function(n){var e,t;return null!=r&&r.monsterCurrentHps?(null!==(t=r.monsterCurrentHps[n.id])&&void 0!==t?t:n.maxHp)<=0:(null!==(e=null==r?void 0:r.currentBossHp)&&void 0!==e?e:1)<=0})&&(fetch("http://127.0.0.1:7907/ingest/bc3fe1ff-98e9-4fb5-a190-cfcfcf1ae3b0",{method:"POST",headers:{"Content-Type":"application/json","X-Debug-Session-Id":"0269cc"},body:JSON.stringify({sessionId:"0269cc",location:"CooperativeBattle.tsx:460",message:"allDefeated=true, setting victory",data:{localStatus:w,rewardsLocked:J.current},hypothesisId:"A-C",runId:"run1",timestamp:Date.now()})}).catch(function(){}),A("victory"),s.length>0&&!J.current)){J.current=!0;var n=(0,yn.nb)(s);dn?(0,yn.ou)(t).then(function(e){V(Pu(Pu({},n),{},{stats:e}))}).catch(function(){V(n)}):V(n)}},[null==r?void 0:r.monsterCurrentHps,null==r?void 0:r.currentBossHp,w,s]),(0,d.useEffect)(function(){if(dn&&"active"===w&&(null==r||!r.isTurnPaused)&&Bn&&!
1R&&null!=r&&r.currentTurnUserId&&x){var n="".concat(r.currentTurnUserId,"-").concat(r.currentTurnIndex),e=!1,i=null,a=function(){var a=Ou(regeneratorRuntime.mark(function a(){return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,(0,yn.mG)(t,n);case 2:if(a.sent&&!e){a.next=5;break}return a.abrupt("return");case 5:i=setTimeout(Ou(regeneratorRuntime.mark(function n(){var i,a,l,u,c,d,p,f,g;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!e&&t&&o){n.next=2;break}return n.abrupt("return");case 2:return n.prev=2,n.next=5,T.default.firestore().collection(m.Gf.RAID).doc(t).get();case 5:if(i=n.sent,(a=i.data())&&!a.isTurnPaused&&a.currentTurnUserId===r.currentTurnUserId&&a.currentTurnIndex===r.currentTurnIndex){n.next=9;break}return n.abrupt("return");case 9:if(L(!0),l=s.find(function(n){return n.id===r.currentTurnUserId})){n.next=13;break}return n.abrupt("return");case 13:return u=Hn.filter(function(){return!0}),c=u[Math.floor(Math.random()*u.length)]||o,d=c===o&&(null==pn?void 0:pn.title)||"플레이어",l.dialogues&&l.dialogues.length>0&&(p=l.dialogues[Math.floor(Math.random()*l.dialogues.length)],(0,bn.vv)(t,l.id,l.title,p,"MESSAGE",l.imgURL).catch(function(){})),n.next=19,(0,yn.vP)({raidId:t,monster:l,targetUserId:c,targetUserName:d,targetDefense:c===o?Ln.defense:5,targetCurrentHp:c===o?Dn.current:100,targetMaxHp:c===o?Dn.max:100});case 19:return f=n.sent,e||c!==o||(j(!0),setTimeout(function(){return j(!1)},500),f.skillUsed&&(q("'".concat(f.skillUsed.name,"' 스킬효과")),setTimeout(function(){return q("")},5e3))),(0,bn.FP)({raidId:t,actorId:l.id,actorName:l.title,actorPhotoURL:l.imgURL,content:f.logContent,combatActor:"MONSTER"}).catch(function(){}),g=Fn.filter(function(n){return n.isAlive}).map(function(n){return n.id}),n.next=25,(0,yn.U8)(t,g);case 25:n.next=30;break;case 27:n.prev=27,n.t0=n.catch(2),console.error("몬스터 공격 오류:",n.t0);case 30:return n.prev=30,e||L(!1),n.finish(30);case 33:case"end":return n.stop()}},n,null,[[2,27,30,33]])})),5e3);case 6:case"end":return a.stop()}},a)}));return function(){return a.apply(this,arguments)}}();return a(),function(){e=!0,i&&clearTimeout(i)}}},[dn,w,null==r?void 0:r.isTurnPaused,Bn,R,null==r?void 0:r.currentTurnUserId,null==r?void 0:r.currentTurnIndex,x,5e3]),(0,d.useEffect)(function(){if(!Gn||"active"!==w||null!=r&&r.isTurnPaused)return ln.current&&(clearInterval(ln.current),ln.current=null),void an(0);var n=function(){return n={turnTimeLimit:null==r?void 0:r.turnTimeLimit,currentTurnStartedAt:null==r?void 0:r.currentTurnStartedAt},t=Math.max(0,wu(n.turnTimeLimit,30)),i=null!==(e=function(n){if(!n)return null;var e=n;if("function"==typeof(null==e?void 0:e.toDate)){var t=e.toDate().getTime();return Number.isFinite(t)?t:null}var r=new Date(e).getTime();return Number.isFinite(r)?r:null}(n.currentTurnStartedAt))&&void 0!==e?e:Date.now(),o=Math.max(0,Math.floor((Date.now()-i)/1e3)),Math.max(0,t-o);var n,e,t,i,o};return an(n()),ln.current=setInterval(function(){an(n())},1e3),function(){ln.current&&(clearInterval(ln.current),ln.current=null)}},[Gn,w,null==r?void 0:r.isTurnPaused,null==r?void 0:r.currentTurnIndex,null==r?void 0:r.currentTurnStartedAt,null==r?void 0:r.turnTimeLimit]),(0,d.useEffect)(function(){un.current=!1},[null==r?void 0:r.currentTurnIndex,null==r?void 0:r.currentTurnUserId]),(0,d.useEffect)(function(){0!==on||!Gn||"active"!==w||R||null!=r&&r.isTurnPaused||un.current||!Kn||(un.current=!0,cn.current())},[on,Gn,w,R,null==r?void 0:r.isTurnPaused,Kn]);var qn=(0,d.useRef)(!1);(0,d.useEffect)(function(){Gn&&!qn.current&&Q(function(n){for(var e={},t=0,r=Object.entries(n);t<r.length;t++){var i=Ru(r[t],2),o=i[0],a=i[1];a>1&&(e[o]=a-1)}return e}),qn.current=Gn},[Gn]);var Wn=(0,d.useCallback)(Ou(regeneratorRuntime.mark(function n(){var e,i,a,l,u;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(t&&o){n.next=3;break}return alert("로그인이 필요합니다."),n.abrupt("return");case 3:if(e=(null==pn?void 0:pn.title)||"파티원",i=null==pn?void 0:pn.thumbnail,!sn){n.next=9;break}return K(t,o,e,i,Ln.speed).catch(function(){}),A(r.status===g.C4.IN_PROGRESS?"active":"idle"),n.abrupt("return");case 9:return n.prev=9,n.next=12,K(t,o,e,i,Ln.speed);case 12:if(A(r.status===g.C4.IN_PROGRESS?"active":"idle"),a=(null==pn?void 0:pn.title)||"유저",(0,bn.D$)(t,"".concat(a,"님이 전투에 참가했습니다.")).catch(function(n){return console.warn("시스템 메시지 전송 실패:",n)}),l=[].concat($u(((null==r?void 0:r.participants)||[]).filter(function(n){return n!==o})),[o]),r.status!==g.C4.IN_PROGRESS){n.next=23;break}return u=Su({raidData:Pu(Pu({},r),{},{participants:l}),monsters:s,currentUserId:o,currentUserName:null==pn?void 0:pn.title,currentUserSpeed:Ln.speed}),n.next=20,(0,yn.Up)(t,u);case 20:if(!(s.length>0)){n.next=23;break}return n.next=23,(0,yn._A)(t,s);case 23:n.next=29;break;case 25:n.prev=25,n.t0=n.catch(9),console.error("레이드 참가 오류:",n.t0),alert("레이드 참가 중 오류가 발생했습니다.");case 29:case"end":return n.stop()}},n,null,[[9,25]])})),[t,o,sn,pn,r,s,Ln.speed]),Zn=(0,d.useCallback)(Ou(regeneratorRuntime.mark(function n(){var e,i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(t&&a){n.next=2;break}return n.abrupt("return");case 2:if(r.status!==g.C4.IN_PROGRESS){n.next=4;break}return n.abrupt("return");case 4:if(!(u.length>0&&0===s.length)){n.next=7;break}return l("몬스터 데이터를 불러오는 중입니다. 잠시 후 다시 시도해주세요."),n.abrupt("return");case 7:if(n.prev=7,!((i=Su({raidData:r,monsters:s,currentUserId:o,currentUserName:null==pn?void 0:pn.title,currentUserSpeed:Ln.speed})).length>0)){n.next=12;break}return n.next=12,(0,yn.Up)(t,i);case 12:if(!(s.length>0)){n.next=15;break}return n.next=15,(0,yn._A)(t,s);case 15:return n.next=17,(0,xn.Er)(m.Gf.RAID,t,{status:g.C4.IN_PROGRESS,startedAt:null!==(e=r.startedAt)&&void 0!==e?e:new Date,isTurnPaused:!1});case 17:(0,bn.D$)(t,"▶ 관리자가 턴 진행을 시작했습니다.").catch(function(){}),n.next=24;break;case 20:n.prev=20,n.t0=n.catch(7),console.error("턴 진행 시작 오류:",n.t0),l("턴 진행 시작 중 오류가 발생했습니다.");case 24:case"end":return n.stop()}},n,null,[[7,20]])})),[t,a,r.status,r.participants,r.participantNames,r.participantSpeeds,r.startedAt,o,null==pn?void 0:pn.title,Ln.speed,s,u.length,l]);(0,d.useEffect)(function(){if(t&&r.status===g.C4.IN_PROGRESS&&!(0===s.length&&u.length>0)){var n,e,i=r.participants||[];if(n={turnOrder:r.turnOrder,participantIds:i,monsterIds:u},e=n.turnOrder||[],[].concat(Au(n.participantIds||[]),Au(n.monsterIds||[])).some(function(n){return!e.includes(n)})){var a=Su({raidData:r,monsters:s,currentUserId:o,currentUserName:null==pn?void 0:pn.title,currentUserSpeed:Ln.speed});(0,yn.Up)(t,a).catch(function(n){console.error("턴오더 동기화 오류:",n)})}}},[t,r.status,r.turnOrder,r.participants,r.participantNames,r.participantSpeeds,s,u,o,null==pn?void 0:pn.title,Ln.speed]);var Qn=(0,d.useCallback)(Ou(regeneratorRuntime.mark(function n(){var e;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(t&&o){n.next=2;break}return n.abrupt("return");case 2:if(confirm("전투를 포기하시겠습니까? 파티에서 제거됩니다.")){n.next=4;break}return n.abrupt("return");case 4:return n.prev=4,n.next=7,(0,bn.yH)(t,o);case 7:l("레이드를 포기했습니다."),i("/raid"),e=(null==pn?void 0:pn.title)||"유저",(0,bn.D$)(t,"".concat(e,"님이 전투를 포기했습니다.")).catch(function(){}),n.next=17;break;case 13:n.prev=13,n.t0=n.catch(4),console.error("레이드 포기 오류:",n.t0),l("포기 처리 중 오류가 발생했습니다.");case 17:case"end":return n.stop()}}
1,n,null,[[4,13]])})),[t,o,i,pn,l]),ne=(0,d.useCallback)(Ou(regeneratorRuntime.mark(function n(){var e;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(t&&a){n.next=2;break}return n.abrupt("return");case 2:return e=!(null!=r&&r.isTurnPaused),n.prev=3,n.next=6,(0,xn.Er)(m.Gf.RAID,t,{isTurnPaused:e});case 6:(0,bn.D$)(t,e?"⏸ 관리자가 턴 진행을 일시 중지했습니다.":"▶ 관리자가 턴 진행을 재시작했습니다.").catch(function(){}),n.next=13;break;case 9:n.prev=9,n.t0=n.catch(3),console.error("턴 일시 중지 오류:",n.t0),l("처리 중 오류가 발생했습니다.");case 13:case"end":return n.stop()}},n,null,[[3,9]])})),[t,a,null==r?void 0:r.isTurnPaused,l]),ee=(0,d.useCallback)(function(){var n=Ou(regeneratorRuntime.mark(function n(e){var r,i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(t&&a){n.next=2;break}return n.abrupt("return");case 2:if(e!==g.C4.IN_PROGRESS){n.next=4;break}return n.abrupt("return");case 4:return n.prev=4,n.next=7,(0,xn.Er)(m.Gf.RAID,t,{status:e});case 7:ju(r={},g.C4.SCHEDULED,"예약중"),ju(r,g.C4.IN_PROGRESS,"진행중"),ju(r,g.C4.COMPLETED,"진행종료"),i=r,(0,bn.D$)(t,"📋 관리자가 레이드 상태를 [".concat(i[e],"]으로 변경했습니다.")).catch(function(){}),n.next=15;break;case 11:n.prev=11,n.t0=n.catch(4),console.error("레이드 상태 변경 오류:",n.t0),l("상태 변경 중 오류가 발생했습니다.");case 15:case"end":return n.stop()}},n,null,[[4,11]])}));return function(e){return n.apply(this,arguments)}}(),[t,a,l]),te=(0,d.useRef)(0),re=(0,d.useCallback)(Ou(regeneratorRuntime.mark(function n(){var e,r,i;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(U.trim()&&t&&o){n.next=2;break}return n.abrupt("return");case 2:if(!((e=Date.now())-te.current<2e3)){n.next=6;break}return l("채팅은 2초에 한 번만 가능합니다."),n.abrupt("return");case 6:return te.current=e,n.prev=7,r=(null==pn?void 0:pn.title)||"유저",i=(null==pn?void 0:pn.thumbnail)||"",n.next=12,(0,bn.vv)(t,o,r,U.trim(),"MESSAGE",i);case 12:N(""),n.next=18;break;case 15:n.prev=15,n.t0=n.catch(7),console.error("채팅 전송 오류:",n.t0);case 18:case"end":return n.stop()}},n,null,[[7,15]])})),[U,t,o,pn,l]),oe=(0,d.useCallback)(function(n){n.nativeEvent.isComposing||"Enter"!==n.key||n.shiftKey||(n.preventDefault(),re())},[re]),ae=(0,d.useCallback)(function(){var n=Ou(regeneratorRuntime.mark(function n(e,r){var i,a,u,c,d,p,f,m,g,b;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if("active"===w&&Gn&&!R){n.next=2;break}return n.abrupt("return");case 2:if(t&&o&&Kn){n.next=4;break}return n.abrupt("return");case 4:if(gn){n.next=7;break}return l("스탯 설정을 불러오는 중입니다."),n.abrupt("return");case 7:if(a=Nn.find(function(n){return n.id===e})){n.next=10;break}return n.abrupt("return");case 10:if(!(Z[e]&&Z[e]>0)){n.next=13;break}return l("쿨타임 ".concat(Z[e],"턴 남았습니다.")),n.abrupt("return");case 13:if(u=null!==(i=a.mpCost)&&void 0!==i?i:Math.abs(a[C.J.MP]||0),!(zn.current<u)){n.next=17;break}return l("MP가 부족합니다."),n.abrupt("return");case 17:return c=a.skillType||vn.b0.SINGLE_ATTACK,d=c===vn.b0.SINGLE_HEAL||c===vn.b0.AOE_HEAL,n.prev=19,L(!0),n.next=23,(0,yn.Pt)({raidId:t,userId:o,userName:(null==pn?void 0:pn.title)||"플레이어",userPhotoURL:(null==pn?void 0:pn.thumbnail)||"",skill:a,playerAttack:Ln.attack,playerDefense:Ln.defense,playerCritical:Ln.critical,playerSpeed:Ln.speed,playerCurrentHp:Dn.current,playerMaxHp:Dn.max,playerCurrentMp:zn.current,playerMaxMp:zn.max,targetMonster:Kn,allMonsters:s});case 23:if(p=n.sent,a.turnCooldown&&a.turnCooldown>0&&Q(function(n){return Pu(Pu({},n),{},ju({},e,a.turnCooldown))}),d||(j(!0),setTimeout(function(){return j(!1)},500)),(0,bn.FP)({raidId:t,actorId:o,actorName:(null==pn?void 0:pn.title)||"플레이어",actorPhotoURL:null==pn?void 0:pn.thumbnail,content:p.logContent,combatActor:"PLAYER"}).catch(function(){}),!p.isMonsterDefeated){n.next=30;break}return n.next=30,(0,bn.D$)(t,"".concat(Kn.title,"을(를) 처치했습니다!")).catch(function(){});case 30:return f=Fn.filter(function(n){return n.isAlive}).map(function(n){return n.id}),n.next=33,(0,yn.U8)(t,f);
1case 33:if(m=n.sent,g=m.nextTurnUserId,!(b=Fn.find(function(n){return n.id===g}))){n.next=39;break}return n.next=39,(0,bn.D$)(t,"".concat(b.name,"의 턴입니다.")).catch(function(){});case 39:n.next=45;break;case 41:n.prev=41,n.t0=n.catch(19),console.error("스킬 사용 오류:",n.t0),l(n.t0.message||"스킬 사용 중 오류가 발생했습니다.");case 45:return n.prev=45,L(!1),n.finish(45);case 48:case"end":return n.stop()}},n,null,[[19,41,45,48]])}));return function(e,t){return n.apply(this,arguments)}}(),[w,Gn,R,t,o,Kn,Nn,Z,Ln,Dn,zn,pn,Fn,s,l,gn]),le=(0,d.useCallback)(Ou(regeneratorRuntime.mark(function n(){var e,r;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(en.trim()&&t&&o){n.next=2;break}return n.abrupt("return");case 2:return e=(null==pn?void 0:pn.title)||"유저",r=(null==pn?void 0:pn.thumbnail)||"",n.next=6,(0,bn.vv)(t,o,e,en.trim(),"MESSAGE",r).catch(function(){});case 6:tn("");case 7:case"end":return n.stop()}},n)})),[en,t,o,pn]),ue=(0,d.useCallback)(function(){var n=Ou(regeneratorRuntime.mark(function n(e,t){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(gn){n.next=3;break}return l("스탯 설정을 불러오는 중입니다."),n.abrupt("return");case 3:return n.next=5,le();case 5:return n.next=7,ae(e,t);case 7:case"end":return n.stop()}},n)}));return function(e,t){return n.apply(this,arguments)}}(),[le,ae,l,gn]),ce=(0,d.useCallback)(Ou(regeneratorRuntime.mark(function n(){var e,r,i,a,u,c;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if("active"===w&&Gn&&!R){n.next=2;break}return n.abrupt("return");case 2:if(t&&o&&Kn){n.next=4;break}return n.abrupt("return");case 4:if(gn){n.next=7;break}return l("스탯 설정을 불러오는 중입니다."),n.abrupt("return");case 7:return n.next=9,le();case 9:return e={id:"basic_attack",title:"기본공격",skillType:vn.b0.SINGLE_ATTACK,mpCost:0,turnCooldown:0,skillMultiplier:1},n.prev=10,L(!0),n.next=14,(0,yn.Pt)({raidId:t,userId:o,userName:(null==pn?void 0:pn.title)||"플레이어",userPhotoURL:(null==pn?void 0:pn.thumbnail)||"",skill:e,playerAttack:Ln.attack,playerDefense:Ln.defense,playerCritical:Ln.critical,playerSpeed:Ln.speed,playerCurrentHp:Dn.current,playerMaxHp:Dn.max,playerCurrentMp:zn.current,playerMaxMp:zn.max,targetMonster:Kn,allMonsters:s});case 14:if(r=n.sent,j(!0),setTimeout(function(){return j(!1)},500),!r.isMonsterDefeated){n.next=20;break}return n.next=20,(0,bn.D$)(t,"".concat(Kn.title,"을(를) 처치했습니다!")).catch(function(){});case 20:return i=Fn.filter(function(n){return n.isAlive}).map(function(n){return n.id}),n.next=23,(0,yn.U8)(t,i);case 23:if(a=n.sent,u=a.nextTurnUserId,!(c=Fn.find(function(n){return n.id===u}))){n.next=29;break}return n.next=29,(0,bn.D$)(t,"".concat(c.name,"의 턴입니다.")).catch(function(){});case 29:n.next=35;break;case 31:n.prev=31,n.t0=n.catch(10),console.error("기본공격 오류:",n.t0),l(n.t0.message||"기본공격 중 오류가 발생했습니다.");case 35:return n.prev=35,L(!1),n.finish(35);case 38:case"end":return n.stop()}},n,null,[[10,31,35,38]])})),[w,Gn,R,t,o,Kn,le,pn,Ln,Dn,zn,Fn,s,l,gn]);cn.current=ce;var se=(0,d.useCallback)(function(n){if("active"===w&&Gn){var e=Xn[n];e&&!e.isEmpty?l("".concat(e.name," — 소모품 사용 기능은 준비 중입니다.")):l("장착된 소모품이 없습니다.")}},[w,Gn,Xn,l]),de="idle"===w,pe="victory"===w||"defeat"===w,fe=a&&!sn&&r.status===g.C4.IN_PROGRESS,me=!de&&!fe;return d.createElement(d.Fragment,null,d.createElement(ie,{raidData:r,localStatus:w,isMaster:a,isAlreadyParticipating:sn,onJoin:Wn,onAbandon:Qn,onNavigate:function(){return i("/raid")},onOpenSettings:function(){return G(!0)},isTurnPaused:!(null==r||!r.isTurnPaused),onTogglePause:ne,onStartTurn:Zn,onStatusChange:ee}),d.createElement(Ol,{show:F,raidData:r,raidId:t,participants:Hn,onClose:function(){return G(!1)}}),de&&r.status===g.C4.IN_PROGRESS&&d.createElement(lu,{raidData:r}),de&&r.status!==g.C4.IN_PROGRESS&&d.createElement(ql,{raidData:r}),d.createElement(S,{$isIdle:de},!de&&d.createElement(qe,{raidId:t,isActive:Pn||pe,notice:r.notice||"",chatInput:U,onChatInputChange:N,onSendChat:re,onKeyDown:oe,chatAuthorDisplayType:r.chatAuthorDisplayType}),!de&&d.createElement(po,{localStatus:w,raidData:r,raidId:null!=t?t:void 0,isShaking:P,equipmentSlots:Rn,playerHp:Dn,playerMp:zn,onNavigate:function(){return i("/raid")},monsters:s,currentMonsterIndex:b,statusEffectText:X,rewards:_,timeLeft:I,isMyTurn:Gn,turnTimeLeft:on,turnTimeLimit:wu(null==r?void 0:r.turnTimeLimit,30)}),me&&d.createElement(ba,{participants:Hn,partyMembers:Fn,currentTurnUserId:r.currentTurnUserId,currentUserId:null!=o?o:void 0,slotsDisabled:!Pn||!Gn||R,skills:Nn,itemSlots:Xn,onUseSkill:ue,onUseItem:se,onBasicAttack:ce,isMyTurn:Gn,isProcessingTurn:R,skillCooldowns:Z,playerCurrentMp:zn.current,playerAttack:Ln.attack,attackMessage:en,onAttackMessageChange:tn,monsters:_n,currentTargetMonsterId:null==Kn?void 0:Kn.id,onChangeTargetMonster:h})))}var Uu,Nu,Hu,Fu,Gu,Bu=d.memo(zu);function _u(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function Ku(n){n.raidId;var e=n.raidData;return d.createElement(Zu,null,d.createElement(Qu,null,"⚔️"),d.createElement(nc,null,"점령전"),d.createElement(ec,null,"대규모 참가자가 동시에 공격하는 점령전 모드입니다.",d.createElement("br",null),"이 기능은 현재 개발 중입니다."),d.createElement(tc,null,e.title))}var Vu,Ju,Yu,Xu,qu,Wu=d.memo(Ku),Zu=h.Ay.div(Uu||(Uu=_u(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 16px;\n  padding: 40px;\n"]))),Qu=h.Ay.span(Nu||(Nu=_u(["\n  font-size: 48px;\n"]))),nc=h.Ay.h2(Hu||(Hu=_u(["\n  margin: 0;\n  font-size: 24px;\n  font-weight: 800;\n  color: var(--textColor);\n"]))),ec=h.Ay.p(Fu||(Fu=_u(["\n  margin: 0;\n  font-size: 14px;\n  color: var(--subTextColor);\n  text-align: center;\n  line-height: 1.6;\n"]))),tc=h.Ay.span(Gu||(Gu=_u(["\n  margin-top: 8px;\n  padding: 6px 16px;\n  background: var(--inkColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  font-size: 13px;\n  color: var(--textColor);\n"])));function rc(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function ic(n){n.raidId;var e=n.raidData;return d.createElement(ac,null,d.createElement(lc,null,"🗡️"),d.createElement(uc,null,"결투 (1:1)"),d.createElement(cc,null,"유저 1명 vs 몬스터 1마리의 1:1 대전 모드입니다.",d.createElement("br",null),"이 기능은 현재 개발 중입니다."),d.createElement(sc,null,e.title))}var oc=d.memo(ic),ac=h.Ay.div(Vu||(Vu=rc(["\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 16px;\n  padding: 40px;\n"]))),lc=h.Ay.span(Ju||(Ju=rc(["\n  font-size: 48px;\n"]))),uc=h.Ay.h2(Yu||(Yu=rc(["\n  margin: 0;\n  font-size: 24px;\n  font-weight: 800;\n  color: var(--textColor);\n"]))),cc=h.Ay.p(Xu||(Xu=rc(["\n  margin: 0;\n  font-size: 14px;\n  color: var(--subTextColor);\n  text-align: center;\n  line-height: 1.6;\n"]))),sc=h.Ay.span(qu||(qu=rc(["\n  margin-top: 8px;\n  padding: 6px 16px;\n  background: var(--inkColor);\n  border: 1px solid var(--lineColor);\n  border-radius: 8px;\n  font-size: 13px;\n  color: var(--textColor);\n"]))),dc=t(35394),pc=t(11971),fc=t(40268),mc=t(33639),gc=t(49736),bc=t(98935),xc=t(38362),vc=t(32491),yc=t(39372),hc=t(7367),Ec=t(84101),wc=t(93853),Ac=t(67476),kc=t(79988),Sc=(t(87398),t(66579));function Cc(n){return Cc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Cc(n)}function Tc(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),t.push.apply(t,r)}return t}function Ic(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};
1e%2?Tc(Object(t),!0).forEach(function(e){Oc(n,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Tc(Object(t)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))})}return n}function Oc(n,e,t){return(e=function(n){var e=function(n){if("object"!=Cc(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=Cc(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==Cc(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Mc(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,i,o,a,l=[],u=!0,c=!1;try{if(o=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=o.call(t)).done)&&(l.push(r.value),l.length!==e);u=!0);}catch(n){c=!0,i=n}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return Pc(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Pc(n,e):void 0}}(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pc(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function jc(n,e,t,r,i,o,a){try{var l=n[o](a),u=l.value}catch(n){return void t(n)}l.done?e(u):Promise.resolve(u).then(r,i)}function $c(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var o=n.apply(e,t);function a(n){jc(o,r,i,a,l,"next",n)}function l(n){jc(o,r,i,a,l,"throw",n)}a(void 0)})}}var Rc=T.default.firestore();function Lc(n){var e,t;if(!n)throw new Error("로그인 후 참여할 수 있습니다.");var r=null===(e=T.default.auth())||void 0===e||null===(t=e.currentUser)||void 0===t?void 0:t.uid;if(!r||r!==n)throw new Error("로그인 정보를 확인한 뒤 다시 참여해 주세요.")}function Dc(n){return zc.apply(this,arguments)}function zc(){return(zc=$c(regeneratorRuntime.mark(function n(e){return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:Lc(e);case 1:case"end":return n.stop()}},n)}))).apply(this,arguments)}function Uc(n){return Nc.apply(this,arguments)}function Nc(){return Nc=$c(regeneratorRuntime.mark(function n(e){var t,r,i,o,a,l,u,c,s,d,p,f,g,b,x,v,y,h,E;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.raidId,r=e.postId,i=e.monsterId,o=e.monsterIds,a=e.monsterMaxHp,l=e.damage,u=e.isCritical,c=e.userId,s=e.userName,d=e.userPhotoURL,p=e.actionType,f=e.skillId,g=e.skillName,e.playerHpAfter,e.playerMpAfter,Lc(c),b=Rc.collection("raid").doc(t),x=Rc.collection("raid/".concat(t,"/logs")),n.next=6,x.where("userId","==",c).limit(1).get();case 6:return v=n.sent,y=Rc.doc(m.Mb.RAID),kc.A.firestore.FieldValue.serverTimestamp(),h=0,E=!1,n.next=13,Rc.runTransaction(function(){var n=$c(regeneratorRuntime.mark(function n(e){var m,w,A,k,S,C,T,I,O,M,P,j,R,D,z,U,N,H,F,G;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Promise.all([e.get(b),e.get(y)]);case 2:if(S=n.sent,C=Mc(S,2),T=C[0],C[1],T.exists){n.next=8;break}throw new Error("레이드 문서를 찾을 수 없습니다.");case 8:if("COMPLETED"!==(null==(I=T.data())?void 0:I.status)){n.next=11;break}throw new Error("이미 완료된 레이드입니다.");case 11:return n.next=13,(0,L.xN)(e,{userId:c,channel:"timelineRaid",battleId:t,alreadyParticipated:(I.participants||[]).includes(c)||!v.empty});case 13:return O=n.sent,n.next=16,$(e,I);case 16:M=n.sent,Object.assign(I,M),P=null!==(m=null==I?void 0:I.monsterCurrentHps)&&void 0!==m?m:{},j=function(n){var e,t,r;return null!==(e=null===(t=I.monsterSnapshots)||void 0===t||null===(r=t.find(function(e){return e.id===n}))||void 0===r?void 0:r.maxHp)&&void 0!==e?e:a},R=null!==(w=P[i])&&void 0!==w?w:j(i),D=Math.max(0,R-l),h=D,z=Ic(Ic({},P),{},Oc({},i,D)),E=((null===(A=I.startSnapshot)||void 0===A?void 0:A.monsterIds)||o).every(function(n){var e;return(null!==(e=z[n])&&void 0!==e?e:j(n))<=0}),U=Ic(Ic({},M),{},(Oc(k={},"monsterCurrentHps.".concat(i),D),Oc(k,"updatedAt",new Date),k)),E&&(U.status="COMPLETED",U.completedAt=new Date),e.update(b,U
1),O.commit(),N="skill"===p?"스킬 [".concat(null!=g?g:"","]"):"consumable"===p?"소모품 사용":"기본 공격",H=u?" (크리티컬!)":"",F=x.doc(),G=Ic(Ic(Ic({raidId:t,userId:c,userName:s,userPhotoURL:d,timestamp:new Date,content:"".concat(N,"으로 ").concat(l.toLocaleString(),"의 데미지!").concat(H),damage:l,type:Sc.N.SYSTEM,actor:Sc.C.PLAYER,postId:r},f?{skillId:f}:{}),g?{skillName:g}:{}),{},{targetMonsterId:i,isCritical:u}),e.set(F,Ic(Ic({},G),{},{id:F.id}));case 34:case"end":return n.stop()}},n)}));return function(e){return n.apply(this,arguments)}}());case 13:return n.abrupt("return",{newMonsterHp:h,isDefeated:E});case 14:case"end":return n.stop()}},n)})),Nc.apply(this,arguments)}var Hc,Fc,Gc,Bc,_c,Kc,Vc,Jc,Yc,Xc,qc,Wc,Zc,Qc,ns,es,ts,rs,is,os,as,ls,us,cs,ss,ds,ps,fs,ms,gs,bs,xs,vs,ys,hs,Es,ws,As,ks,Ss,Cs,Ts,Is,Os=t(69866),Ms=t(59649),Ps=t(80374);function js(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function $s(n,e,t,r,i,o,a){try{var l=n[o](a),u=l.value}catch(n){return void t(n)}l.done?e(u):Promise.resolve(u).then(r,i)}function Rs(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var o=n.apply(e,t);function a(n){$s(o,r,i,a,l,"next",n)}function l(n){$s(o,r,i,a,l,"throw",n)}a(void 0)})}}function Ls(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,i,o,a,l=[],u=!0,c=!1;try{if(o=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=o.call(t)).done)&&(l.push(r.value),l.length!==e);u=!0);}catch(n){c=!0,i=n}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(n,e)||zs(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ds(n){return function(n){if(Array.isArray(n))return Us(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||zs(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function zs(n,e){if(n){if("string"==typeof n)return Us(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Us(n,e):void 0}}function Us(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function Ns(n,e,t){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=vn._B,o=n*r,a=t*(i.defenseReduction/100),l=Math.max(i.minDamage,o-a),u=(0,Ps.a)(e,i),c=u?Math.floor(l*i.criticalMultiplier):Math.floor(l),s=i.damageVariance;return{damage:Math.max(i.minDamage,Math.floor(c*(1-s+Math.random()*s*2))),isCritical:u}}var Hs=[{key:"basicAttack",label:"기본 공격",icon:"⚔️"},{key:"skill",label:"스킬",icon:"✨"},{key:"consumable",label:"장착 소모품",icon:"🧪"}],Fs=[wn.wD.WEAPON,wn.wD.GLOVE,wn.wD.SHIRTS,wn.wD.JEANS,wn.wD.SHOES];function Gs(n){var e,t,r,i,o=n.raidId,a=n.raidData,l=n.currentMonster,u=(0,hn.lZ)(wc.ln),c=(0,hn.vc)(En.Bs),s=(0,hn.vc)(An.hT),p=(0,hn.vc)(An.w7),g=(0,d.useMemo)(function(){return"raid/".concat(o,"/posts")},[o]),b=(0,f.useDocument)(c?"".concat(m.Gf.USERS,"/").concat(c):null).data,x=(0,f.useCollection)(m.Gf.STATUS,{listen:!0,where:[["id","!=","statusSetting"]]}).data,v=(0,d.useMemo)(function(){return(null==s?void 0:s.path)||m.Gf.PHOTOCARD},[null==s?void 0:s.path]),h=(0,kn.Ay)(null!=s&&s.id?v:null,(null==s?void 0:s.id)||null).bonuses,E=(0,Sn.A)({collectionPath:null!=s&&s.id?v:null,docId:(null==s?void 0:s.id)||null,listen:!0}).data,w=(0,d.useMemo)(function(){return Ds(E||[]).sort(function(n,e){return Number(n.order||0)-Number(e.order||0)})},[E]),A=(0,d.useMemo)(function(){return null!=s&&s.id?"".concat(v,"/").concat(s.id,"/").concat(m.Gf.EQUIPMENT):null},[null==s?void 0:s.id,v]),k=(0,f.useCollection)(A,{listen:!0}).data,S=(0,d.useMemo)(function(){return Fs.map(function(n){var e,t=null!==(e=null==k?void 0:k.find(function(e){return e.id===n}))&&void 0!==e?e:null;return{type:n,label:wn.LF[n]||n,item:t}})},[k]),I=(0,d.useMemo)(function(){return null!=s&&s.id?"".concat(v,"/").concat(s.id,"/inventory"):null},[null==s?void 0:s.id,v]),O=(0,f.useCollection)(I,{listen:!0}).data,M=(0,f.useCollection)(null!=s&&s.id?m.Gf.STORE:null,{listen:!0}).data,P=(0,d.useMemo)(function(){var n,e,t=null!==(n=null==s||null===(e=s.equippedConsumableIds)||void 0===e?void 0:e.slice(0,5))&&void 0!==n?n:[],r=new Map;null==M||M.forEach(function(n){n.id&&r.set(n.id,n)});var i=new Map;return null==O||O.forEach(function(n){n.id&&i.set(n.id,n)}),Array.from({length:5},function(n,e){var o=t[e];if(!o)return{index:e,isEmpty:!0,itemId:"",name:"슬롯 ".concat(e+1),imgURL:void 0};var a=i.get(o),l=null!=a&&a.originItemID?r.get(a.originItemID):void 0;return{index:e,isEmpty:!1,itemId:o,name:(null==l?void 0:l.title)||(null==a?void 0:a.title)||"소모품",imgURL:(null==l?void 0:l.imgURL)||(null==a?void 0:a.imgURL)}})},[s,O,M]),j=P.some(function(n){return!n.isEmpty}),$=null!==(e=null==s?void 0:s[C.J.HP])&&void 0!==e?e:0,R=null!==(t=null==s?void 0:s[C.J.MP])&&void 0!==t?t:0,L=(0,d.useMemo)(function(){var n;return Math.min($,null!==(n=null==s?void 0:s.currentHp)&&void 0!==n?n:$)},[$,null==s?void 0:s.currentHp]),D=(0,d.useMemo)(function(){var n;return Math.min(R,null!==(n=null==s?void 0:s.currentMp)&&void 0!==n?n:R)},[R,null==s?void 0:s.currentMp]),z=$>0?Math.max(0,Math.min(100,L/$*100)):0,U=R>0?Math.max(0,Math.min(100,D/R*100)):0,N=(0,d.useMemo)(function(){var n,e,t=null!==(n=a.currentMonsterIndex)&&void 0!==n?n:0;return(null===(e=a.monsterIds)||void 0===e?void 0:e[t])||""},[a.currentMonsterIndex,a.monsterIds]),H=Ls((0,d.useState)(""),2),F=H[0],G=H[1],B=Ls((0,Os.A)(!1),2),_=B[0],K=B[1],V=Ls((0,d.useState)("basicAttack"),2),J=V[0],Y=V[1],X=Ls((0,d.useState)(""),2),q=X[0],W=X[1],Z=Ls((0,d.useState)(""),2),Q=Z[0],nn=Z[1],en=Ls((0,d.useState)([]),2),tn=en[0],rn=en[1],on=Ls((0,d.useState)([]),2),an=on[0],ln=on[1],un=Ls((0,d.useState)([]),2),cn=un[0],sn=un[1],dn=Ls((0,d.useState)(!1),2),pn=dn[0],fn=dn[1],mn=(0,d.useCallback)(function(){return u(!1)},[u]),gn=(0,d.useCallback)(function(){pn&&!window.confirm("업로드가 진행중입니다. 정말 닫으시겠습니까?\n제대로 업로드되지 않을 수 있습니다.")||mn()},[pn,mn]),bn=(0,d.useCallback)(function(){Ms.l.drawingtool&&(window.open("/drawing-tool?mode=timeline-upload","drawingtool","width=1280,height=800")||alert("팝업이 차단되었습니다. 브라우저 팝업 허용 후 다시 시도해주세요."))},[]);(0,d.useEffect)(function(){var n=function(n){if(n.origin===window.location.origin){var e=n.data;if(e&&"DRAWING_TOOL_PUBLISH"===e.type){var t=e.blob;t&&"number"==typeof t.size&&rn(function(n){if(((null==n?void 0:n.length)||0)>=1)return alert("이미지는 최대 1장까지 첨부할 수 있습니다."),n;var r=e.filename||"drawing_".concat(Date.now(),".png"),i=new File([t],r,{type:t.type||"image/png"});return[].concat(Ds(n),[i])})}}};return window.addEventListener("message",n),function(){return window.removeEventListener("message",n)}},[]);var xn=(0,d.useCallback)(function(n){Y(n),W(""),nn("")},[]),vn=(0,d.useCallback)(Rs(regeneratorRuntime.mark(function n(){var e,t,r,i,u,d,f,m,v,y,E,A,k,S,I,O,M,P,$;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(c){n.next=3;break}return alert("로그인 후 참여할 수 있습니다."),n.abrupt("return");case 3:if(null!=s&&s.id&&String(s.title||"").trim()){n.next=6;break}return alert("대표 캐릭터 정보가 아직 불러와지지 않았습니다. 잠시 후 다시 시도해주세요."),n.abrupt("return");case 6:if("skill"!==J||q){n.next=9;break}return alert("사용할 스킬을 선택해주세요."),n.abrupt("return");case 9:if("consumable"!==J||j){n.next=12;break}return alert("장착된 소모품이 없습니다. 소모품을 먼저 장착해주세요."),n.abrupt("return");case 12:if("consumable"!==J||!j||Q){n.next=15;break}return alert("사용할 소모품 슬롯을 선택해주세요."),n.abrupt("return");case 15:if(!(tn.length>1)){n.next=18;break}return alert("이미지는 최대 1장까지 첨부할 수 있습니다."),n.abrupt("return");case 18:if(N){n.next=21;break}
1return alert("활성 몬스터가 없어 전투를 시작할 수 없습니다."),n.abrupt("return");case 21:if(x){n.next=24;break}return alert("스탯 설정을 불러오는 중입니다. 잠시 후 다시 시도해주세요."),n.abrupt("return");case 24:return fn(!0),n.prev=25,n.next=28,Dc(c);case 28:return i=(0,Cu.lk)({character:s,equipmentBonuses:h,statusList:x}),u=((null==s?void 0:s[C.J.CRITICAL])||5)+(h[C.J.CRITICAL]||0),d=null!==(e=null==l?void 0:l.defense)&&void 0!==e?e:0,f="skill"===J?w.find(function(n){return n.id===q}):null,m=null!==(t=null==f?void 0:f.skillMultiplier)&&void 0!==t?t:1,v=null!==(r=null==f?void 0:f.mpCost)&&void 0!==r?r:0,y=Ns(i,u,d,m),E=y.damage,A=y.isCritical,k=Math.max(0,D-("skill"===J?v:0)),S={authorUid:c,contents:F||"",imgURL:"",isCollapseImg:_,accessType:Ec.KC.PUBLIC,raidActionType:J,actionRefId:"skill"===J?q:"consumable"===J?Q:"",damageResult:E,isCritical:A,playerHpAfter:L,playerMpAfter:k,targetMonsterId:N},n.next=39,(0,Ac.L)({data:S,collectionPath:g,hashtag:[],prevHashtag:[],fileList:{selectedFileList:tn,prevImgURLList:cn,removeImgURLList:an}});case 39:return I=n.sent,n.prev=40,n.next=43,Uc({raidId:o,postId:I,monsterId:N,monsterIds:null!==(O=a.monsterIds)&&void 0!==O?O:[],monsterMaxHp:null!==(M=null==l?void 0:l.maxHp)&&void 0!==M?M:1,damage:E,isCritical:A,userId:c,userName:null!==(P=null!==($=null==b?void 0:b.displayName)&&void 0!==$?$:null==p?void 0:p.title)&&void 0!==P?P:"유저",userPhotoURL:null==b?void 0:b.photoURL,actionType:J,skillId:q||void 0,skillName:null==f?void 0:f.title,playerHpAfter:L,playerMpAfter:k});case 43:n.next=50;break;case 45:return n.prev=45,n.t0=n.catch(40),n.next=49,T.default.firestore().collection(g).doc(I).delete().catch(function(){});case 49:throw n.t0;case 50:mn(),n.next=57;break;case 53:n.prev=53,n.t1=n.catch(25),console.error("전투 업로드 실패:",n.t1),alert(n.t1 instanceof Error?n.t1.message:"업로드 중 오류가 발생했습니다. 다시 시도해주세요.");case 57:return n.prev=57,fn(!1),n.finish(57);case 60:case"end":return n.stop()}},n,null,[[25,53,57,60],[40,45]])})),[J,q,Q,j,tn,cn,an,N,c,F,_,g,mn,s,h,x,l,w,L,D,b,p,a.monsterIds,o]);return d.createElement(dl.A,{outsideClick:function(){},contentStyle:{maxWidth:560}},d.createElement(pl.rQ,null,d.createElement(fl.A,{onClick:gn}),d.createElement("div",{style:{textAlign:"left"}},d.createElement("h6",null,"전투 업로드")),d.createElement(y.A,{onClick:vn,pending:pn},"올리기")),d.createElement(pl.sC,null,d.createElement(yd,null,d.createElement(hd,null,d.createElement(xc.A,{photoURL:null!==(r=null==b?void 0:b.photoURL)&&void 0!==r?r:"",size:"32px"}),d.createElement(Ed,null,null!==(i=null==b?void 0:b.displayName)&&void 0!==i?i:"유저")),p&&d.createElement(wd,null,d.createElement(Ad,null,p.thumbnail&&d.createElement(kd,{src:p.thumbnail,alt:p.title}),d.createElement(Sd,null,d.createElement(Cd,null,p.title),p.subTitle&&d.createElement(Td,null,p.subTitle))),d.createElement(Id,null,$>0&&d.createElement(Od,null,d.createElement(Md,{$color:"hp"},"HP"),d.createElement(Pd,null,d.createElement(jd,{$percent:z,$color:"hp"})),d.createElement($d,null,L.toLocaleString()," / ",$.toLocaleString())),R>0&&d.createElement(Od,null,d.createElement(Md,{$color:"mp"},"MP"),d.createElement(Pd,null,d.createElement(jd,{$percent:U,$color:"mp"})),d.createElement($d,null,D.toLocaleString()," / ",R.toLocaleString()))),d.createElement(Rd,null,S.map(function(n){var e;return d.createElement(Ld,{key:n.type,title:n.label},null!==(e=n.item)&&void 0!==e&&e.imgURL?d.createElement(vt.A,{src:n.item.imgURL,alt:n.item.title,style:{width:"100%",height:"100%",objectFit:"cover"}}):d.createElement(Dd,null,n.label[0]))}),j&&d.createElement(Ld,{title:"소모품 ".concat(P.filter(function(n){return!n.isEmpty}).length,"개"),$isConsumable:!0},d.createElement(zd,null,P.filter(function(n){return!n.isEmpty}).length),d.createElement(Ud,null,"소모품")))),d.createElement(vc.A,{value:F,onChange:G,placeholder:"전투 장면을 묘사해주세요...",minHeight:120,maxHeight:220,noControls:!0,id:"raid-battle-quill-".concat(o),type:"editor",setToolbar:{emoji:!0,video:!1,link:!1},collectionPath:g}),d.createElement(yc.A,{value:"raid-collapse-img",onChange:K,checked:_},d.createElement("span",{style:{fontSize:12}},"긴 이미지 접기")),d.createElement(Nd,null,d.createElement(Hd,null,"전투 액션 ",d.createElement(Fd,null,"*")),d.createElement(Gd,null,Hs.map(function(n){var e=n.key,t=n.label,r=n.icon,i="consumable"===e&&!j;return d.createElement(Bd,{key:e,$active:J===e,$disabled:i,onClick:function(){return!i&&xn(e)},title:i?"장착된 소모품이 없습니다":void 0},d.createElement("span",null,r),t)})),"skill"===J&&d.createElement(_d,null,0===w.length?d.createElement(Zd,null,"등록된 스킬이 없습니다."):d.createElement(Kd,null,w.map(function(n){var e,t,r=null!==(e=n.mpCost)&&void 0!==e?e:0,i=q===n.id,o=r>0&&D<r;return d.createElement(Vd,{key:n.id,$active:i,$disabled:o,onClick:function(){return!o&&W(function(e){var t;return e===n.id?"":null!==(t=n.id)&&void 0!==t?t:""})},title:o?"MP 부족 (필요: ".concat(r,")"):null!==(t=n.contents)&&void 0!==t?t:n.title},i&&d.createElement(tp,{"aria-hidden":"true"},"✓"),n.imgURL?d.createElement(Jd,{src:n.imgURL,alt:n.title}):d.createElement(Yd,null,"✨"),d.createElement(Xd,null,n.title),r>0&&d.createElement(qd,{$insufficient:o},"MP ",r))})),"skill"===J&&!q&&d.createElement(Wd,null,"사용할 스킬을 선택하세요.")),"consumable"===J&&d.createElement(Qd,null,j?d.createElement(d.Fragment,null,d.createElement(np,null,P.map(function(n){if(n.isEmpty)return null;var e=Q===n.itemId;return d.createElement(ep,{key:n.index,$active:e,onClick:function(){return nn(function(e){return e===n.itemId?"":n.itemId})}},e&&d.createElement(tp,{"aria-hidden":"true"},"✓"),n.imgURL?d.createElement(rp,{src:n.imgURL,alt:n.name}):d.createElement(ip,null,"🧪"),d.createElement(op,null,n.name))})),!Q&&d.createElement(Wd,null,"사용할 소모품을 선택하세요.")):d.createElement(Zd,null,"장착된 소모품이 없습니다. 먼저 소모품을 장착해주세요."))),d.createElement("div",null,d.createElement(hc.A,{id:"raid-battle-upload-img",limit:1,selectedFileList:tn,setSelectedFileList:rn,setRemoveImgURLList:ln,prevImgURLList:cn,setPrevImgURLList:sn}),Ms.l.drawingtool&&d.createElement(ap,null,d.createElement(y.A,{shape:"stroke",size:"sm",onClick:bn},"직접 그리기"))))))}var Bs,_s,Ks,Vs,Js,Ys,Xs,qs,Ws,Zs,Qs,nd,ed,td,rd,id,od,ad,ld,ud,cd,sd,dd,pd,fd,md,gd,bd,xd,vd=d.memo(Gs),yd=h.Ay.div(Hc||(Hc=js(["\n  display: flex;\n  flex-direction: column;\n  gap: 14px;\n"]))),hd=h.Ay.div(Fc||(Fc=js(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),Ed=h.Ay.span(Gc||(Gc=js(["\n  font-size: 14px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),wd=h.Ay.div(Bc||(Bc=js(["\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  padding: 12px 14px;\n  border-radius: var(--cardBorderRadius, 10px);
1\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--cardLineColor);\n"]))),Ad=h.Ay.div(_c||(_c=js(["\n  display: flex;\n  align-items: center;\n  gap: 10px;\n"]))),kd=h.Ay.img(Kc||(Kc=js(["\n  width: 36px;\n  height: 36px;\n  border-radius: 50%;\n  object-fit: cover;\n  object-position: top center;\n  border: 1px solid var(--cardLineColor);\n  flex-shrink: 0;\n"]))),Sd=h.Ay.div(Vc||(Vc=js(["\n  min-width: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n"]))),Cd=h.Ay.span(Jc||(Jc=js(["\n  font-size: 13px;\n  font-weight: 700;\n  color: var(--textColor);\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),Td=h.Ay.span(Yc||(Yc=js(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),Id=h.Ay.div(Xc||(Xc=js(["\n  display: flex;\n  flex-direction: column;\n  gap: 5px;\n"]))),Od=h.Ay.div(qc||(qc=js(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),Md=h.Ay.span(Wc||(Wc=js(["\n  width: 20px;\n  font-size: 11px;\n  font-weight: 700;\n  flex-shrink: 0;\n  color: ",";\n"])),function(n){return"hp"===n.$color?"#22c55e":"#60a5fa"}),Pd=h.Ay.div(Zc||(Zc=js(["\n  flex: 1;\n  height: 8px;\n  border-radius: 999px;\n  overflow: hidden;\n  background: var(--cardLineColor, rgba(0, 0, 0, 0.1));\n"]))),jd=h.Ay.div(Qc||(Qc=js(["\n  height: 100%;\n  width: ","%;\n  border-radius: 999px;\n  background: ",";\n  transition: width 0.4s ease-out;\n"])),function(n){return n.$percent},function(n){var e=n.$color,t=n.$percent;return"hp"===e?t>50?"linear-gradient(90deg, #34d399, #22c55e)":t>20?"linear-gradient(90deg, #fbbf24, #f59e0b)":"linear-gradient(90deg, #f87171, #ef4444)":"linear-gradient(90deg, #60a5fa, #3b82f6)"}),$d=h.Ay.span(ns||(ns=js(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  font-weight: 600;\n  white-space: nowrap;\n  flex-shrink: 0;\n"]))),Rd=h.Ay.div(es||(es=js(["\n  display: flex;\n  gap: 6px;\n  flex-wrap: wrap;\n"]))),Ld=h.Ay.div(ts||(ts=js(["\n  width: 36px;\n  height: 36px;\n  border-radius: 8px;\n  overflow: hidden;\n  background: var(--cardBackgroundColor);\n  border: 1px solid ",";\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-direction: column;\n  flex-shrink: 0;\n  cursor: default;\n"])),function(n){return n.$isConsumable?"rgba(251,191,36,0.6)":"var(--cardLineColor)"}),Dd=h.Ay.span(rs||(rs=js(["\n  font-size: 10px;\n  color: var(--subTextColor);\n  font-weight: 600;\n"]))),zd=h.Ay.span(is||(is=js(["\n  font-size: 13px;\n  font-weight: 800;\n  color: #fbbf24;\n  line-height: 1;\n"]))),Ud=h.Ay.span(os||(os=js(["\n  font-size: 8px;\n  color: var(--subTextColor);\n  line-height: 1;\n"]))),Nd=h.Ay.div(as||(as=js(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]))),Hd=h.Ay.div(ls||(ls=js(["\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),Fd=h.Ay.span(us||(us=js(["\n  color: #f87171;\n  margin-left: 2px;\n"]))),Gd=h.Ay.div(cs||(cs=js(["\n  display: flex;\n  gap: 6px;\n"]))),Bd=h.Ay.button(ss||(ss=js(["\n  flex: 1;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 5px;\n  padding: 8px 6px;\n  border-radius: 8px;\n  font-size: 12px;\n  font-weight: ",";\n  font-family: var(--defaultFontFamily);\n  border: 1.5px solid\n    ",";\n  background: ",";\n  color: ",";\n  opacity: ",";\n  cursor: ",";\n  transition: all 0.15s ease;\n\n  &:hover:not(:disabled) {\n    border-color: ",";\n  }\n"])),function(n){return n.$active?700:500},function(n){return n.$active?"var(--inkColor)":"var(--cardLineColor)"},function(n){return n.$active?"var(--inkColor)":"var(--cardBackgroundColor)"},function(n){var e=n.$active;return n.$disabled?"var(--subTextColor)":e?"var(--menuTextColor, #fff)":"var(--textColor)"},function(n){return n.$disabled?.45:1},function(n){return n.$disabled?"not-allowed":"pointer"},function(n){return n.$disabled?"var(--cardLineColor)":"var(--inkColor)"}),_d=h.Ay.div(ds||(ds=js(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n  padding: 10px 12px;\n  border-radius: 8px;\n  background: rgba(0, 0, 0, 0.04);\n  border: 1px solid var(--cardLineColor);\n"]))),Kd=h.Ay.div(ps||(ps=js(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n"]))),Vd=h.Ay.button(fs||(fs=js(["\n  position: relative;\n  display: flex;\n  align-items: center;\n  gap: 5px;\n  padding: 5px 10px 5px 6px;\n  border-radius: 6px;\n  font-family: var(--defaultFontFamily);\n  font-size: 12px;\n  font-weight: ",";\n  border: 1.5px solid\n    ",";\n  background: ",";\n  color: ",";\n  opacity: ",";\n  cursor: ",";\n  transition: all 0.15s ease;\n"])),function(n){return n.$active?700:500},function(n){return n.$active?"var(--primaryColor, #4fd1c5)":"var(--cardLineColor)"},function(n){return n.$active?"rgba(79,209,197,0.15)":"var(--cardBackgroun
1dColor)"},function(n){return n.$disabled?"var(--subTextColor)":"var(--textColor)"},function(n){return n.$disabled?.5:1},function(n){return n.$disabled?"not-allowed":"pointer"}),Jd=h.Ay.img(ms||(ms=js(["\n  width: 20px;\n  height: 20px;\n  border-radius: 4px;\n  object-fit: cover;\n  flex-shrink: 0;\n"]))),Yd=h.Ay.span(gs||(gs=js(["\n  font-size: 14px;\n  flex-shrink: 0;\n"]))),Xd=h.Ay.span(bs||(bs=js(["\n  max-width: 90px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),qd=h.Ay.span(xs||(xs=js(["\n  font-size: 10px;\n  font-weight: 700;\n  padding: 1px 5px;\n  border-radius: 999px;\n  background: ",";\n  color: ",";\n  flex-shrink: 0;\n"])),function(n){return n.$insufficient?"rgba(248,113,113,0.2)":"rgba(96,165,250,0.2)"},function(n){return n.$insufficient?"#f87171":"#60a5fa"}),Wd=h.Ay.p(vs||(vs=js(["\n  margin: 0;\n  font-size: 11px;\n  color: #f87171;\n"]))),Zd=h.Ay.p(ys||(ys=js(["\n  margin: 0;\n  font-size: 12px;\n  color: var(--subTextColor);\n"]))),Qd=h.Ay.div(hs||(hs=js(["\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n  padding: 10px 12px;\n  border-radius: 8px;\n  background: rgba(0, 0, 0, 0.04);\n  border: 1px solid var(--cardLineColor);\n"]))),np=h.Ay.div(Es||(Es=js(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 6px;\n"]))),ep=h.Ay.button(ws||(ws=js(["\n  position: relative;\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  padding: 5px 10px 5px 6px;\n  border-radius: 6px;\n  font-family: var(--defaultFontFamily);\n  font-size: 12px;\n  font-weight: ",";\n  border: 1.5px solid\n    ",";\n  background: ",";\n  color: ",";\n  cursor: pointer;\n  transition: all 0.15s ease;\n\n  &:hover {\n    border-color: #fbbf24;\n  }\n"])),function(n){return n.$active?700:500},function(n){return n.$active?"#fbbf24":"var(--cardLineColor)"},function(n){return n.$active?"rgba(251,191,36,0.15)":"var(--cardBackgroundColor)"},function(n){return n.$active?"#f59e0b":"var(--textColor)"}),tp=h.Ay.span(As||(As=js(["\n  position: absolute;\n  top: -6px;\n  right: -6px;\n  width: 18px;\n  height: 18px;\n  border-radius: 50%;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  background: #f59e0b;\n  color: #fff;\n  border: 2px solid var(--cardBackgroundColor);\n  font-size: 11px;\n  font-weight: 800;\n  line-height: 1;\n  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);\n  pointer-events: none;\n"]))),rp=h.Ay.img(ks||(ks=js(["\n  width: 22px;\n  height: 22px;\n  border-radius: 4px;\n  object-fit: cover;\n  flex-shrink: 0;\n"]))),ip=h.Ay.span(Ss||(Ss=js(["\n  font-size: 16px;\n  flex-shrink: 0;\n"]))),op=h.Ay.span(Cs||(Cs=js(["\n  max-width: 90px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),ap=h.Ay.div(Ts||(Ts=js(["\n  display: flex;\n  justify-content: flex-end;\n  margin-top: 6px;\n"]))),lp=(h.Ay.p(Is||(Is=js(["\n  margin: 4px 0 0;\n  font-size: 11px;\n  color: var(--subTextColor);\n"]))),t(1544)),up=t(87744),cp=t(20786),sp=t(76916),dp=t(645);function pp(n){return pp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},pp(n)}function fp(n,e){return e||(e=n.slice(0)),Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(e)}}))}function mp(n,e){return function(n){if(Array.isArray(n))return n}(n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,i,o,a,l=[],u=!0,c=!1;try{if(o=(t=t.call(n)).next,0===e){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=o.call(t)).done)&&(l.push(r.value),l.length!==e);u=!0);}catch(n){c=!0,i=n}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return l}}(n,e)||function(n,e){if(n){if("string"==typeof n)return gp(n,e);var t={}.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?gp(n,e):void 0}}
1(n,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function gp(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=Array(e);t<e;t++)r[t]=n[t];return r}function bp(n,e,t){return(e=function(n){var e=function(n){if("object"!=pp(n)||!n)return n;var e=n[Symbol.toPrimitive];if(void 0!==e){var t=e.call(n,"string");if("object"!=pp(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(n);return"symbol"==pp(e)?e:e+""}(e))in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var xp=(bp(Bs={},vn.PS.SINGLE,{label:"단",color:"#93c5fd",bg:"rgba(59,130,246,0.2)"}),bp(Bs,vn.PS.AOE,{label:"광",color:"#fcd34d",bg:"rgba(245,158,11,0.2)"}),bp(Bs,vn.PS.IGNORE_DEFENSE,{label:"무",color:"#c084fc",bg:"rgba(168,85,247,0.2)"}),Bs);function vp(n){var e,t,r=n.skill,i=null!==(e=xp[r.targetType])&&void 0!==e?e:xp[vn.PS.SINGLE],o=d.createElement(Bp,null,d.createElement("strong",{style:{fontSize:13,color:"#fff"}},r.name),d.createElement("span",{style:{fontSize:11,color:"rgba(255,255,255,0.6)"}},null!==(t=vn.kh[r.targetType])&&void 0!==t?t:r.targetType,null!=r.skillMultiplier&&1!==r.skillMultiplier?" · 배율 ".concat(Math.round(100*r.skillMultiplier),"%"):""));return d.createElement(ht.A,{message:o,direction:"bottom",isPortal:!0},d.createElement(Hp,{$color:i.color,$bg:i.bg},d.createElement(Fp,{$color:i.color},i.label),d.createElement(Gp,null,r.name)))}function yp(n){var e,t,r=n.raidId,i=n.raidData,o=(0,hn.vc)(wc.ln),a=(0,d.useMemo)(function(){return"raid/".concat(r,"/posts")},[r]),l=(0,lp.A)({collectionPath:a}),u=l.docWidth,c=l.docLimit,s=l.writeAuthType,p=l.commentAuthType,b=l.authorDisplayType,x=l.authorAvatarType,v=l.isCommentCollapse,y=l.isRealtimeEnabled,h=l.orderBy,E=l.orderDir,w=l.imgClickAction,A=l.isTimelineImgFill,k=l.isFluidLayout,S=l.fluidLayoutMaxImageSize,C=l.twoLineRatio,T=mp((0,d.useState)([]),2),I=T[0],O=T[1],M=mp((0,d.useState)(0),2),P=M[0],j=M[1],$=(0,d.useCallback)(function(){j(function(n){return n+1})},[]);(0,d.useEffect)(function(){var n=function(n){var e;(null===(e=n.detail)||void 0===e?void 0:e.collectionPath)===a&&j(function(n){return n+1})};return window.addEventListener(dp.f,n),function(){return window.removeEventListener(dp.f,n)}},[a]);var R=(0,d.useMemo)(function(){return(null==i?void 0:i.monsterIds)||[]},[null==i?void 0:i.monsterIds]),L=(0,f.useCollection)(R.length>0?m.Gf.NPC:null,{listen:!0,where:R.length>0?["id","in",R.slice(0,10)]:void 0}).data,D=(0,d.useMemo)(function(){var n,e=null!==(n=i.monsterSnapshots)&&void 0!==n?n:L;return e&&0!==R.length?R.map(function(n){return e.find(function(e){return e.id===n})}).filter(function(n){return!!n}):[]},[L,R,i.monsterSnapshots]),z=null!==(e=i.currentMonsterIndex)&&void 0!==e?e:0,U=D[z]||D[0]||null,N=(0,d.useMemo)(function(){var n,e;return U?null!==(n=null===(e=i.monsterCurrentHps)||void 0===e?void 0:e[U.id])&&void 0!==n?n:U.maxHp:0},[U,i.monsterCurrentHps]),H=null!==(t=null==U?void 0:U.maxHp)&&void 0!==t?t:1,F=Math.max(0,Math.min(100,N/Math.max(1,H)*100)),G=i.status===g.C4.COMPLETED;return d.createElement(d.Fragment,null,d.createElement(dc.A,null,d.createElement(pc.Ay,{style:{maxWidth:(0,sp.R$)(u,"100%"),height:"fit-content"}},d.createElement(Ep,null,d.createElement(wp,null,R.map(function(n,e){var t,r,o,a,l=D.find(function(e){return e.id===n}),u=(null!==(t=null===(r=i.monsterCurrentHps)||void 0===r?void 0:r[n])&&void 0!==t?t:1)<=0,c=(null==U?void 0:U.id)===n;return d.createElement(ht.A,{key:n,message:null!==(o=null==l?void 0:l.title)&&void 0!==o?o:"몬스터 ".concat(e+1),direction:"bottom",isPortal:!0},d.createElement(Ap,{$active:c,$defeated:u},null!=l&&l.imgURL?d.createElement(kp,{src:l.imgURL,alt:l.title,$defeated:u}):d.createElement(Sp,{$defeated:u},(null!==(a=null==l?void 0:l.title)&&void 0!==a?a:"?")[0])))})),U?d.createElement(Cp,null,d.createElement(Tp,null,U.imgURL?d.createElement(vt.A,{src:U.imgURL,alt:U.title,style:{width:"100%",height:"100%",objectFit:"cover",objectPosition:"top center"}}):d.createElement(Ip,null,U.title[0])),d.createElement(Op,null,d.createElement(Mp,null,d.createElement(Pp,null,U.title),G&&d.createElement(jp,null,"처치됨")),d.createElement($p,null,d.createElement(Rp,null,d.createElement(Lp,{$percent:F,$defeated:G}
1)),d.createElement(Dp,null,N.toLocaleString()," / ",H.toLocaleString())),d.createElement(zp,null,(U.skills||[]).length>0?U.skills.map(function(n){return d.createElement(vp,{key:n.id,skill:n})}):d.createElement(Up,null,"등록된 스킬 없음")))):d.createElement(Np,null,R.length>0?"몬스터 정보를 불러오는 중...":"등록된 몬스터가 없습니다.")),d.createElement(mc.A,{uploadText:"업로드",collectionPath:a,writeAuthType:s||cp.Yj.MEMBER,showSearch:!1,showWidth:!0,showLimit:!0,showCollapse:!0,showEmoji:!0,showCommentPermission:!0,showAuthorDisplayType:!0,showAuthorAvatarType:!0,showRealtimeEnabled:!0,isRealtimeEnabled:y,onRefresh:$}),d.createElement(bc.A,{key:P,collectionPath:a,setList:O,list:I.length>0?d.createElement(gc.A,{list:I,listType:up.Ik.TWOLINE,collectionPath:a,isCommentCollapse:v,commentAuthType:p,authorDisplayType:b,authorAvatarType:x,imgClickAction:w,isTimelineImgFill:A,isFluidLayout:k,fluidLayoutMaxImageSize:S,twoLineRatio:C}):d.createElement(_p,null,d.createElement(Kp,null,"⚔️"),d.createElement(Vp,null,"아직 전투 기록이 없습니다."),d.createElement(Jp,null,"업로드 버튼을 눌러 첫 번째 전투를 기록해보세요.")),docLimit:c||10,orderBy:h||"createdAt",orderDir:E||"desc",isRealtimeEnabled:y,noShowHashtag:!0}),o&&d.createElement(vd,{raidId:r,raidData:i,currentMonster:U}))),d.createElement(fc.Ay,null))}var hp=d.memo(yp),Ep=h.Ay.section(_s||(_s=fp(["\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  padding: 14px 16px;\n  border-radius: var(--cardBorderRadius, 12px);\n  background-color: var(--cardBackgroundColor);\n  border: 1px solid var(--cardLineColor);\n  margin-bottom: 4px;\n"]))),wp=h.Ay.div(Ks||(Ks=fp(["\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n  align-items: center;
1\n"]))),Ap=h.Ay.button(Vs||(Vs=fp(["\n  width: ",";\n  height: ",";\n  border-radius: 50%;\n  overflow: hidden;\n  flex-shrink: 0;\n  cursor: default;\n  transition: all 0.2s ease;\n  border: 2px solid\n    ",";\n  opacity: ",";\n  background: var(--cardBackgroundColor);\n  box-shadow: ",";\n  padding: 0;\n"])),function(n){return n.$active?"36px":"28px"},function(n){return n.$active?"36px":"28px"},function(n){var e=n.$active;return n.$defeated?"var(--subTextColor)":e?"var(--primaryColor, #4fd1c5)":"var(--cardLineColor)"},function(n){return n.$defeated?.45:1},function(n){return n.$active?"0 0 8px rgba(79, 209, 197, 0.4)":"none"}),kp=h.Ay.img(Js||(Js=fp(["\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  object-position: top center;\n  filter: ",";\n"])),function(n){return n.$defeated?"grayscale(1) brightness(0.6)":"none"}),Sp=h.Ay.div(Ys||(Ys=fp(["\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 12px;\n  font-weight: 700;\n  color: ",";\n"])),function(n){return n.$defeated?"var(--subTextColor)":"var(--textColor)"}),Cp=h.Ay.div(Xs||(Xs=fp(["\n  display: grid;\n  grid-template-columns: 80px 1fr;\n  gap: 14px;\n  align-items: flex-start;\n\n  @media (max-width: 480px) {\n    grid-template-columns: 64px 1fr;\n    gap: 10px;\n  }\n"]))),Tp=h.Ay.div(qs||(qs=fp(["\n  width: 80px;\n  height: 80px;\n  border-radius: 10px;\n  overflow: hidden;\n  background: var(--cardBackgroundColor);\n  border: 1px solid var(--cardLineColor);\n  flex-shrink: 0;\n\n  @media (max-width: 480px) {\n    width: 64px;\n    height: 64px;\n  }\n"]))),Ip=h.Ay.div(Ws||(Ws=fp(["\n  width: 100%;\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-size: 20px;\n  font-weight: 700;\n  color: var(--subTextColor);\n"]))),Op=h.Ay.div(Zs||(Zs=fp(["\n  min-width: 0;\n  display: flex;\n  flex-direction: column;\n  gap: 6px;\n"]))),Mp=h.Ay.div(Qs||(Qs=fp(["\n  display: flex;\n  align-items: center;\n  gap: 8px;\n"]))),Pp=h.Ay.h3(nd||(nd=fp(["\n  margin: 0;\n  font-size: 15px;\n  font-weight: 700;\n  color: var(--textColor);\n"]))),jp=((0,h.i7)(ed||(ed=fp(["\n  0%, 100% { opacity: 1; }\n  50% { opacity: 0.5; }\n"]))),h.Ay.span(td||(td=fp(["\n  font-size: 10px;\n  font-weight: 700;\n  padding: 2px 8px;\n  border-radius: 999px;\n  background: rgba(100, 100, 100, 0.3);\n  color: var(--subTextColor);\n  border: 1px solid var(--cardLineColor);\n"])))),$p=h.Ay.div(rd||(rd=fp(["\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n"]))),Rp=h.Ay.div(id||(id=fp(["\n  width: 100%;\n  height: 10px;\n  border-radius: 999px;\n  overflow: hidden;\n  background: var(--cardLineColor, rgba(0, 0, 0, 0.1));\n"]))),Lp=h.Ay.div(od||(od=fp(["\n  height: 100%;\n  width: ","%;\n  border-radius: 999px;\n  background: ",";\n  transition: width 0.5s ease-out, background 0.3s;\n"])),function(n){return n.$percent},function(n){var e=n.$defeated,t=n.$percent;return e?"var(--subTextColor)":t>50?"linear-gradient(90deg, #34d399, #22c55e)":t>20?"linear-gradient(90deg, #fbbf24, #f59e0b)":"linear-gradient(90deg, #f87171, #ef4444)"}),Dp=h.Ay.span(ad||(ad=fp(["\n  font-size: 11px;\n  color: var(--subTextColor);\n  font-weight: 600;\n"]))),zp=h.Ay.div(ld||(ld=fp(["\n  display: flex;\n  flex-wrap: wrap;\n  gap: 5px;\n"]))),Up=h.Ay.span(ud||(ud=fp(["\n  font-size: 11px;\n  color: var(--subTextColor);\n"]))),Np=h.Ay.p(cd||(cd=fp(["\n  margin: 0;\n  font-size: 13px;\n  color: var(--subTextColor);\n"]))),Hp=h.Ay.button(sd||(sd=fp(["\n  display: flex;\n  align-items: center;\n  gap: 4px;\n  padding: 3px 7px 3px 4px;\n  border-radius: 4px;\n  border: 1px solid ",";\n  background: ",";\n  cursor: default;\n  max-width: 100px;\n  font-family: var(--defaultFontFamily);\n"])),function(n){var e=n.$color;return"".concat(e,"55")},function(n){return n.$bg}),Fp=h.Ay.span(dd||(dd=fp(["\n  flex-shrink: 0;\n  font-size: 8px;\n  font-weight: 800;\n  color: #000;\n  background-color: ",";\n  width: 14px;\n  height: 14px;\n  border-radius: 3px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n"])),function(n){return n.$color}),Gp=h.Ay.span(pd||(pd=fp(["\n  font-size: 11px;\n  font-weight: 600;\n  color: var(--textColor);\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n"]))),Bp=h.Ay.div(fd||(fd=fp(["\n  display: flex;\n  flex-direction: column;\n  gap: 4px;\n  min-width: 90px;\n"]))),_p=h.Ay.div(md||(md=fp(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  padding: 80px 20px;\n  color: var(--subTextColor);\n  text-align: center;
1\n"]))),Kp=h.Ay.div(gd||(gd=fp(["\n  font-size: 40px;\n  opacity: 0.5;\n"]))),Vp=h.Ay.p(bd||(bd=fp(["\n  margin: 0;\n  font-size: 15px;\n  font-weight: 600;\n  color: var(--textColor);\n"]))),Jp=h.Ay.p(xd||(xd=fp(["\n  margin: 0;\n  font-size: 13px;\n  color: var(--subTextColor);\n"])));function Yp(){var n=(0,p.Zp)(),e=(0,x.pv)(2),t=(0,f.useDocument)(e?"".concat(m.Gf.RAID,"/").concat(e):null,{listen:!0}),r=t.data,i=t.error,o=r?(0,s.F)(r):void 0,a=(0,g.kx)(null==o?void 0:o.raidType)===g.yr.TIMELINE;if((0,b.A)(a),!e)return d.createElement(w,null,d.createElement(A,null,d.createElement(k,null,"잘못된 접근입니다."),d.createElement(y.A,{shape:"filled",onClick:function(){return n("/raid")}},"레이드 목록으로")));if(i)return d.createElement(w,null,d.createElement(A,null,d.createElement(k,null,"데이터를 불러오는 중 오류가 발생했습니다."),d.createElement(y.A,{shape:"filled",onClick:function(){return window.location.reload()}},"다시 시도")));if(!o)return d.createElement(w,null,d.createElement(A,null,d.createElement(v.A,{size:"lg"}),d.createElement(k,null,"레이드 로딩중...")));var l=function(){switch((0,g.kx)(o.raidType)){case g.yr.COOPERATIVE:return d.createElement(Bu,{raidId:e,raidData:o});case g.yr.MASS_RAID:return d.createElement(Wu,{raidId:e,raidData:o});case g.yr.SEQUENTIAL:return d.createElement(oc,{raidId:e,raidData:o});case g.yr.TIMELINE:return d.createElement(hp,{raidId:e,raidData:o});default:return d.createElement(Bu,{raidId:e,raidData:o})}};return a?d.createElement(d.Fragment,null,l()):d.createElement(w,{$backgroundURL:o.backgroundURL},l())}var Xp=d.memo(Yp)},65987:function(n,e,t){"use strict";var r=t(51605),i=t(19877);r({target:"String",proto:!0,forced:t(88478)("sub")},{sub:function(){return i(this,"sub","","")}})}}]);
2//# sourceMappingURL=6791.12ddd3a9.chunk.js.map

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.