/* FUNY PIN / FUNY MON 10x10 retro capture UI */
.funy-mon-marker{position:relative;width:48px;height:48px;pointer-events:auto;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 2px 1px rgba(38,27,54,.25));transform-origin:50% 100%}
.funy-mon-sprite{position:absolute;left:4px;top:2px;width:40px;height:40px;display:block;image-rendering:pixelated;animation:funyMonIdle .85s steps(2,end) infinite}
.funy-mon-marker img{display:block;width:40px;height:40px;object-fit:contain;image-rendering:pixelated;pointer-events:none;user-select:none;-webkit-user-drag:none}
.funy-mon-shadow{position:absolute;left:11px;bottom:2px;width:24px;height:6px;border-radius:50%;background:rgba(34,28,42,.18);transform-origin:center;animation:funyMonShadow .85s steps(2,end) infinite;pointer-events:none}

.funy-mon-marker.move-0{animation:funyMonWalk 2.7s steps(6,end) infinite}
.funy-mon-marker.move-1{animation:funyMonFloat 2.2s steps(5,end) infinite}
.funy-mon-marker.move-2{animation:funyMonWander 3.1s steps(7,end) infinite}
.funy-mon-marker.mon-b{animation-delay:.22s}.funy-mon-marker.mon-c{animation-delay:.48s}
@keyframes funyMonIdle{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1px) scaleY(.96)}}
@keyframes funyMonShadow{0%,100%{transform:scaleX(1);opacity:.16}50%{transform:scaleX(.78);opacity:.1}}
@keyframes funyMonWalk{0%,100%{transform:translate3d(-5px,0,0)}16%{transform:translate3d(-2px,-1px,0)}33%{transform:translate3d(1px,0,0)}50%{transform:translate3d(5px,-1px,0)}66%{transform:translate3d(2px,0,0)}83%{transform:translate3d(-2px,-1px,0)}}
@keyframes funyMonFloat{0%,100%{transform:translate3d(0,2px,0)}25%{transform:translate3d(2px,-2px,0)}50%{transform:translate3d(0,-4px,0)}75%{transform:translate3d(-2px,-1px,0)}}
@keyframes funyMonWander{0%,100%{transform:translate3d(0,0,0)}14%{transform:translate3d(3px,-1px,0)}28%{transform:translate3d(6px,0,0)}42%{transform:translate3d(3px,-2px,0)}57%{transform:translate3d(0,0,0)}71%{transform:translate3d(-4px,-1px,0)}85%{transform:translate3d(-2px,0,0)}}

/* modal layer */
.funy-mon-modal[hidden]{display:none!important}
.funy-mon-modal{position:fixed!important;inset:0!important;z-index:2147483647!important;display:flex;align-items:flex-end;justify-content:center}
.funy-mon-backdrop{position:absolute;inset:0;background:rgba(20,14,35,.62);backdrop-filter:blur(2px)}
.funy-mon-sheet{position:relative;width:min(100%,420px);padding:18px 20px calc(22px + env(safe-area-inset-bottom));border:2px solid #302557;border-bottom:0;border-radius:24px 24px 0 0;background:linear-gradient(180deg,#faf8ff 0%,#fff 48%);text-align:center;box-shadow:0 -4px 0 #9e83f1,0 -18px 48px rgba(30,19,52,.28);overflow:hidden;transform-origin:50% 100%;animation:funySheetIn .26s cubic-bezier(.22,.8,.24,1)}
.funy-mon-sheet:before{content:"";position:absolute;inset:8px;border:1px solid rgba(154,127,226,.24);border-radius:16px;pointer-events:none}
.funy-mon-handle{position:relative;z-index:4;width:42px;height:5px;margin:0 auto 10px;border-radius:999px;background:#d8d1e2}
.funy-mon-pixel-corners:before,.funy-mon-pixel-corners:after{content:"";position:absolute;width:7px;height:7px;background:#7557c8;box-shadow:7px 0 0 #b9a6f0,0 7px 0 #b9a6f0;opacity:.75}
.funy-mon-pixel-corners:before{left:14px;top:18px}.funy-mon-pixel-corners:after{right:14px;top:18px;transform:scaleX(-1)}
.funy-mon-close{position:absolute;z-index:6;right:14px;top:14px;width:32px;height:32px;border:0;border-radius:50%;background:#f1edf7;color:#6c6475;font:800 20px/30px ui-monospace,SFMono-Regular,Menlo,monospace}
.funy-mon-visual{position:relative;z-index:2;width:150px;height:136px;margin:0 auto 2px;display:grid;place-items:center}
.funy-mon-visual:before{content:"";position:absolute;inset:18px 10px 8px;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(149,116,232,.18),rgba(149,116,232,.05) 52%,transparent 72%)}
.funy-mon-result-icon{position:relative;z-index:2;width:122px;height:122px;display:grid;place-items:center}
.funy-mon-result-sprite{display:block;width:112px;height:112px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(4px 5px 0 rgba(71,53,119,.14));user-select:none;-webkit-user-drag:none}
.funy-mon-kicker{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border:1px solid #d7ccef;border-radius:999px;background:#f4effd;color:#7657c7;font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em}
.funy-mon-sheet h3{position:relative;z-index:2;margin:10px 0 8px;color:#26202d;font-size:27px;line-height:1.15;font-weight:950;letter-spacing:-.055em}
.funy-mon-sheet p{position:relative;z-index:2;margin:8px auto 0;max-width:310px;color:#77707b;font-size:12.5px;line-height:1.55}
.funy-mon-meta{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:6px;margin:0;flex-wrap:wrap}
.funy-mon-meta[hidden]{display:none!important}
.funy-mon-meta span{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:0 8px;border:1px solid #ded5ef;border-radius:999px;background:#f8f5fc;color:#665d70;font:850 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
.funy-mon-meta span:nth-child(1){background:#302855;border-color:#302855;color:#fff}
.funy-mon-meta span:nth-child(3){background:#eee8ff;border-color:#d8ccff;color:#684eb5}
.funy-mon-meta .type-ponanyang{background:#eeeef1;border-color:#d9d9df;color:#5e5c66}
.funy-mon-meta .type-bubblelong{background:#e7f6ff;border-color:#bfe8fb;color:#2587ba}
.funy-mon-meta .type-hatring{background:#fff0f7;border-color:#f6cfe1;color:#ce5f91}
.funy-mon-meta .type-bulgi{background:#fff0e9;border-color:#ffd3bf;color:#d65d34}
.funy-mon-meta .type-namumong{background:#edf8e9;border-color:#cde8c3;color:#448d48}
.funy-mon-actions{position:relative;z-index:2;display:grid;gap:8px;margin-top:18px}
.funy-mon-actions button{min-height:48px;border-radius:12px;font:850 13px 'Pretendard Variable',Pretendard,sans-serif}
.funy-mon-primary{border:0;background:linear-gradient(180deg,#8f74ec,#6e4fd3);color:#fff;box-shadow:0 4px 0 #4f36ad}
.funy-mon-secondary{border:1px solid #ddd6e6;background:#fff;color:#5f5866;box-shadow:0 2px 0 #eee8f3}
@keyframes funySheetIn{from{transform:translateY(100%)}to{transform:translateY(0)}}

/* FX */
.funy-mon-fx{position:absolute;z-index:1;inset:12px 0 0;pointer-events:none}
.funy-mon-fx i{position:absolute;font-style:normal;color:#8c6be0;text-shadow:0 0 8px rgba(140,107,224,.55)}
.funy-mon-fx i:nth-child(1){left:8%;top:40%}.funy-mon-fx i:nth-child(2){left:26%;top:4%}.funy-mon-fx i:nth-child(3){left:50%;top:24%}.funy-mon-fx i:nth-child(4){left:72%;top:5%}.funy-mon-fx i:nth-child(5){right:7%;top:42%}
.is-success .funy-mon-fx i{animation:funySpark .8s steps(4,end) both}
.is-prize .funy-mon-fx i{color:#ffbd3f;animation:funyPrizeSpark 1s steps(5,end) infinite}
@keyframes funySpark{0%{opacity:0;transform:scale(.3)}45%{opacity:1;transform:scale(1.35)}100%{opacity:.7;transform:scale(1)}}
@keyframes funyPrizeSpark{0%,100%{opacity:.25;transform:scale(.6) rotate(0)}50%{opacity:1;transform:scale(1.25) rotate(20deg)}}

/* failure */
.is-fail{background:linear-gradient(180deg,#f8f5fb,#fff)}
.is-fail .funy-mon-result-icon{animation:funyFailShake .34s steps(4,end) 1}
.funy-mon-fail-icon{width:68px;height:68px;display:grid;place-items:center;border:4px solid #94849f;border-radius:50%;background:#eee9f2;color:#7f708c;font:900 38px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
.is-fail .funy-mon-kicker{background:#f2edf4;border-color:#dfd5e4;color:#77697f}
@keyframes funyFailShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}

/* capture success */
.is-success .funy-mon-result-icon{animation:funyCatchPop .55s steps(5,end) both}
.is-success .funy-mon-result-icon:after{content:"♡";position:absolute;right:3px;top:6px;color:#ef70a4;font:900 21px/1 ui-monospace,SFMono-Regular,Menlo,monospace;animation:funyHeartUp .8s steps(5,end) both}
.is-success .funy-mon-kicker{background:#eee9ff;border-color:#d4c7ff;color:#684eb5}
@keyframes funyCatchPop{0%{transform:scale(.35);opacity:0}45%{transform:scale(1.16);opacity:1}70%{transform:scale(.95)}100%{transform:scale(1)}}
@keyframes funyHeartUp{0%{opacity:0;transform:translateY(8px) scale(.5)}50%{opacity:1}100%{opacity:.85;transform:translateY(-10px) scale(1)}}

/* capture success + prize */
.is-prize{background:linear-gradient(180deg,#f4efff 0%,#fff 48%)}
.is-prize .funy-mon-result-icon{animation:funyPrizePop .75s steps(6,end) both}
.is-prize .funy-mon-result-icon:before{content:"";position:absolute;inset:3px;border-radius:50%;background:radial-gradient(circle,rgba(255,220,112,.58),rgba(148,98,255,.12) 46%,transparent 70%);animation:funyPrizeGlow 1.1s steps(4,end) infinite}
.is-prize .funy-mon-kicker{background:#fff5d8;border-color:#f5d989;color:#9a6907}
@keyframes funyPrizePop{0%{transform:scale(.25) rotate(-8deg);opacity:0}45%{transform:scale(1.18) rotate(4deg);opacity:1}70%{transform:scale(.96) rotate(-2deg)}100%{transform:scale(1) rotate(0)}}
@keyframes funyPrizeGlow{0%,100%{transform:scale(.9);opacity:.45}50%{transform:scale(1.22);opacity:1}}
.funy-mon-reward{position:relative;z-index:2;margin:17px 0 0;padding:15px 15px 14px;border:1px solid #d7c6ff;border-radius:14px;background:linear-gradient(180deg,#fbf9ff,#f4efff);color:#554291;font-size:13px;font-weight:850;box-shadow:0 4px 0 #e7ddff}
.funy-mon-reward:before{content:"REWARD";display:block;margin-bottom:7px;color:#8a70d4;font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}
.funy-mon-reward strong{display:block;margin-top:6px;color:#463875;font-size:14px}
.funy-mon-test-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#302855;color:#fff;font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.funy-mon-test-note{display:block;margin-top:10px;padding-top:10px;border-top:1px dashed #c9bae9;color:#b95c63;font-size:10.5px;font-weight:800;line-height:1.45}
.funy-mon-code{position:relative;z-index:2;margin:10px 0 0;padding:9px 10px;border:1px dashed #8e75d5;border-radius:10px;background:#fbf9ff;color:#4b4054;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em}
/* ensure map nav sits below result layer */
body.funy-mon-open .shops-bottom-nav{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.funy-mon-open .live-pin-entry-wrap,body.funy-mon-open .live-pin-detail-entry{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

@media(prefers-reduced-motion:reduce){
  .funy-mon-marker,.funy-mon-sprite,.funy-mon-shadow,.funy-mon-sheet,.funy-mon-result-icon,.funy-mon-fx i{animation:none!important}
}

.funy-mon-meta{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;gap:5px;margin:0 0 8px;flex-wrap:wrap}
.funy-mon-meta[hidden]{display:none!important}
.funy-mon-meta span{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:0 7px;border:1px solid #ded5ef;border-radius:4px;background:#f8f5fc;color:#665d70;font:850 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em}
.funy-mon-meta span:nth-child(1){background:#2f2852;border-color:#2f2852;color:#fff}
.funy-mon-meta span:nth-child(3){background:#eee8ff;border-color:#d8ccff;color:#684eb5}
.funy-mon-meta .type-ponanyang{background:#eeeef1;border-color:#d9d9df;color:#5e5c66}
.funy-mon-meta .type-bubblelong{background:#e7f6ff;border-color:#bfe8fb;color:#2587ba}
.funy-mon-meta .type-hatring{background:#fff0f7;border-color:#f6cfe1;color:#ce5f91}
.funy-mon-meta .type-bulgi{background:#fff0e9;border-color:#ffd3bf;color:#d65d34}
.funy-mon-meta .type-namumong{background:#edf8e9;border-color:#cde8c3;color:#448d48}

/* FUNY MON capture flow v2 */
.funy-mon-outcome[hidden]{display:none!important}
.funy-mon-outcome{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:24px;background:rgba(17,13,27,.34);pointer-events:none}
.funy-mon-outcome-box{min-width:240px;max-width:88vw;padding:20px 22px;border:4px solid #2d2355;background:#fff;box-shadow:0 0 0 4px #b9a7ef,8px 8px 0 rgba(37,27,62,.24);text-align:center;animation:funyOutcomeIn .16s steps(3,end)}
.funy-mon-outcome-kicker{display:block;margin-bottom:8px;color:#7657c7;font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}
.funy-mon-outcome-box strong{display:block;color:#2a2430;font:950 25px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.04em}
.funy-mon-outcome-box p{margin:10px 0 0;color:#706978;font:800 12px/1.45 'Pretendard Variable',Pretendard,sans-serif}
.funy-mon-outcome.is-catch-success .funy-mon-outcome-box{background:#f8f4ff}
.funy-mon-outcome.is-catch-fail .funy-mon-outcome-box{background:#f8f5f7}
@keyframes funyOutcomeIn{from{transform:scale(.76);opacity:0}to{transform:scale(1);opacity:1}}

.funy-mon-location{display:flex!important;align-items:center;justify-content:center;gap:4px}
.funy-mon-reward-kuji{position:relative;z-index:3;height:176px;margin:18px 0 0;border:2px solid #6f56bd;border-radius:14px;overflow:hidden;background:#faf8ff;box-shadow:0 4px 0 #ddd2ff;text-align:left}
.funy-mon-reward-kuji[hidden]{display:none!important}
.funy-mon-reward-result{position:absolute;inset:0;padding:17px 17px 15px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(145deg,#fbf9ff,#f3edff)}
.funy-mon-reward-status{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.funy-mon-reward-status.win{background:#6e4fd3;color:#fff}
.funy-mon-reward-status.lose{background:#e9e5ed;color:#69616f}
.funy-mon-reward-result>strong{display:block;margin-top:7px;color:#302747;font-size:17px;line-height:1.25;font-weight:900}
.funy-mon-reward-result>p{margin:5px 0 0!important;color:#786f80!important;font-size:11px!important;text-align:left}
.funy-mon-claim-code{display:flex;align-items:center;gap:7px;margin-top:9px;padding:7px 9px;border:1px dashed #8e75d5;border-radius:8px;background:#fff}
.funy-mon-claim-code span{color:#8068a2;font-size:9px;font-weight:800}
.funy-mon-claim-code b{color:#352a48;font:900 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
.funy-mon-post-guide{margin-top:9px;padding-top:8px;border-top:1px dashed #d2c7df;color:#6f6577;font-size:10px;font-weight:750;line-height:1.4}
.funy-mon-reward-cover{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;background:repeating-linear-gradient(135deg,#7055c7 0,#7055c7 14px,#8065d9 14px,#8065d9 28px);color:#fff;text-align:center;touch-action:none;cursor:grab;will-change:transform}
.funy-mon-reward-cover:before,.funy-mon-reward-cover:after{content:"";position:absolute;left:12px;right:12px;height:2px;background:rgba(255,255,255,.48)}
.funy-mon-reward-cover:before{top:12px}.funy-mon-reward-cover:after{bottom:12px}
.funy-mon-kuji-label{font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;opacity:.8}
.funy-mon-reward-cover strong{margin-top:10px;font-size:15px;font-weight:900}
.funy-mon-reward-cover small{margin-top:5px;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;opacity:.72}
.funy-mon-reward-kuji.is-revealed .funy-mon-reward-result{animation:funyRewardReveal .32s ease both}
@keyframes funyRewardReveal{from{transform:scale(.96);opacity:.55}to{transform:scale(1);opacity:1}}
.funy-mon-primary:disabled{background:#d8d2e1!important;color:#9c93a6!important;box-shadow:none!important;cursor:not-allowed!important}

/* FUNY MON flow refinement v3 */
.funy-mon-outcome{pointer-events:auto}
.funy-mon-outcome-box{border-radius:2px}
.funy-mon-outcome-box button{width:100%;height:44px;margin-top:16px;border:3px solid #2d2355;border-radius:2px;background:#7657c8;color:#fff;box-shadow:inset 0 -4px 0 rgba(41,30,69,.22),4px 4px 0 rgba(45,35,85,.18);font:900 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}
.funy-mon-close{width:34px!important;height:34px!important;border:3px solid #322653!important;border-radius:2px!important;background:#f8f4ff!important;color:#5f477f!important;box-shadow:3px 3px 0 #c8b9ee!important;font:900 22px/27px ui-monospace,SFMono-Regular,Menlo,monospace!important}
.funy-mon-visual{overflow:visible}
.funy-mon-fx{inset:0 -18px -4px!important;height:auto!important}
.funy-mon-fx i{font-size:18px;animation:funyPrizeSpark 1s steps(5,end) infinite!important}
.funy-mon-fx i:nth-child(1){left:0!important;top:48%!important}.funy-mon-fx i:nth-child(2){left:18%!important;top:4%!important}.funy-mon-fx i:nth-child(3){left:48%!important;top:-4%!important}.funy-mon-fx i:nth-child(4){left:76%!important;top:7%!important}.funy-mon-fx i:nth-child(5){right:0!important;top:50%!important}

.funy-mon-reward-kuji{height:188px;border:4px solid #2d2355!important;border-radius:3px!important;background:#fff!important;box-shadow:5px 5px 0 #b9a7ef!important}
.funy-mon-reward-result{opacity:0;visibility:hidden;background:#fffdf7!important;border:5px double #7c61c5;inset:6px!important;padding:14px!important}
.funy-mon-reward-kuji.is-revealed .funy-mon-reward-result{opacity:1;visibility:visible;animation:funyRewardReveal .32s steps(4,end) both}
.funy-mon-reward-kuji.is-flashing:after{content:"";position:absolute;z-index:8;inset:-20px;background:radial-gradient(circle,rgba(255,255,255,.98) 0 12%,rgba(255,235,125,.8) 13% 24%,transparent 52%);pointer-events:none;animation:funyRewardFlash .75s steps(6,end) both}
@keyframes funyRewardFlash{0%{opacity:0;transform:scale(.5)}25%{opacity:1}60%{opacity:.75;transform:scale(1.35)}100%{opacity:0;transform:scale(1.7)}}
.funy-mon-reward-cover{border:0!important;border-radius:0!important;background:repeating-linear-gradient(0deg,#7657c8 0,#7657c8 7px,#6749bd 7px,#6749bd 14px)!important;box-shadow:inset 0 0 0 5px #2d2355,inset 0 0 0 8px #c2b2ef!important}
.funy-mon-reward-cover:before,.funy-mon-reward-cover:after{height:4px!important;background:#fff3a6!important;left:18px!important;right:18px!important}
.funy-mon-kuji-label{padding:4px 8px;border:2px solid #fff;background:#2d2355;color:#fff;font-size:11px!important}
.funy-mon-reward-cover strong{font:900 15px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important;text-shadow:2px 2px 0 rgba(48,37,87,.35)}
.funy-mon-reward-cover small{font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.02em!important}
.funy-mon-reward-kuji.is-swiping .funy-mon-reward-cover{filter:brightness(1.08);box-shadow:inset 0 0 0 5px #2d2355,inset 0 0 0 8px #fff0a4,0 0 14px rgba(255,219,89,.5)!important}
.funy-mon-reward-retro{font:950 26px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.06em;text-shadow:3px 3px 0 #ddd0ff}
.funy-mon-reward-retro.win{color:#6541c0}.funy-mon-reward-retro.lose{color:#776d7e}
.funy-mon-reward-title-link{margin-top:11px;padding:0;border:0;border-bottom:2px dashed #8062d8;background:none;color:#6541c0;font-size:15px;font-weight:900;cursor:pointer}
.funy-mon-lose-copy{margin:12px 0 0!important;color:#746b78!important;font-size:12px!important;font-weight:800}
.funy-mon-reward-viewer[hidden]{display:none!important}.funy-mon-reward-viewer{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:24px}.funy-mon-reward-viewer-bg{position:absolute;inset:0;background:rgba(17,12,28,.76)}.funy-mon-reward-viewer-card{position:relative;z-index:1;width:min(92vw,420px);padding:12px;border:4px solid #2d2355;background:#fff;box-shadow:7px 7px 0 #8c71d6}.funy-mon-reward-viewer-card img{display:block;width:100%;max-height:70vh;object-fit:contain;background:#f7f4fb}.funy-mon-reward-viewer-card button{position:absolute;right:8px;top:8px;width:34px;height:34px;border:3px solid #2d2355;border-radius:2px;background:#fff;color:#4e3d70;font:900 20px/1 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:3px 3px 0 #b9a7ef}

/* FUNY MON visual refinement v4 */
.funy-mon-sheet{--mon-fx:#8d73dd;--mon-glow:rgba(141,115,221,.22)}
.funy-mon-sheet.mon-ponanyang{--mon-fx:#8b72d8;--mon-glow:rgba(139,114,216,.22)}
.funy-mon-sheet.mon-bubblelong{--mon-fx:#59b9df;--mon-glow:rgba(89,185,223,.22)}
.funy-mon-sheet.mon-hatring{--mon-fx:#ed79ad;--mon-glow:rgba(237,121,173,.24)}
.funy-mon-sheet.mon-bulgi{--mon-fx:#ee7b4d;--mon-glow:rgba(238,123,77,.24)}
.funy-mon-sheet.mon-namumong{--mon-fx:#67a85b;--mon-glow:rgba(103,168,91,.22)}
.funy-mon-sheet.mon-ggomagureum{--mon-fx:#9db9d4;--mon-glow:rgba(157,185,212,.22)}
.funy-mon-sheet.mon-bawidong{--mon-fx:#9b8c74;--mon-glow:rgba(155,140,116,.22)}
.funy-mon-sheet.mon-grimjamong{--mon-fx:#7764ae;--mon-glow:rgba(119,100,174,.24)}
.funy-mon-sheet.mon-beonjjeogi{--mon-fx:#e5b633;--mon-glow:rgba(229,182,51,.25)}
.funy-mon-sheet.mon-neon{--mon-fx:#8a71ff;--mon-glow:rgba(138,113,255,.28)}
.funy-mon-visual:before{inset:6px -4px -2px!important;background:radial-gradient(circle at 50% 48%,var(--mon-glow) 0 18%,color-mix(in srgb,var(--mon-glow) 65%,transparent) 36%,transparent 68%)!important;filter:blur(3px);animation:funyMonAura 2.1s ease-in-out infinite}
@keyframes funyMonAura{0%,100%{transform:scale(.96);opacity:.66}50%{transform:scale(1.04);opacity:1}}
.funy-mon-fx i{color:var(--mon-fx)!important;text-shadow:0 0 9px var(--mon-glow)!important;opacity:.72}
.funy-mon-fx i:nth-child(1){animation-delay:0s!important}.funy-mon-fx i:nth-child(2){animation-delay:.18s!important}.funy-mon-fx i:nth-child(3){animation-delay:.32s!important}.funy-mon-fx i:nth-child(4){animation-delay:.48s!important}.funy-mon-fx i:nth-child(5){animation-delay:.66s!important}

/* pixel close control */
.funy-mon-close{border-radius:0!important;border-width:3px!important;box-shadow:2px 0 0 #2d2355,-2px 0 0 #2d2355,0 2px 0 #2d2355,0 -2px 0 #2d2355,4px 4px 0 #c8b9ee!important;image-rendering:pixelated}

/* coupon-shaped reward */
.funy-mon-reward-kuji{clip-path:polygon(0 0,100% 0,100% 38%,97% 38%,97% 62%,100% 62%,100% 100%,0 100%,0 62%,3% 62%,3% 38%,0 38%)!important;border:0!important;box-shadow:none!important;background:#2d2355!important;padding:4px}
.funy-mon-reward-kuji:before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 3%,rgba(255,255,255,.2) 3% 3.7%,transparent 3.7% 96.3%,rgba(255,255,255,.2) 96.3% 97%,transparent 97%)}
.funy-mon-reward-result{inset:5px!important;clip-path:polygon(0 0,100% 0,100% 38%,97% 38%,97% 62%,100% 62%,100% 100%,0 100%,0 62%,3% 62%,3% 38%,0 38%)!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:16px 22px!important}
.funy-mon-reward-cover{inset:5px!important;clip-path:polygon(0 0,100% 0,100% 38%,97% 38%,97% 62%,100% 62%,100% 100%,0 100%,0 62%,3% 62%,3% 38%,0 38%)!important}
.funy-mon-reward-retro{font-size:30px!important;text-align:center!important;letter-spacing:-.08em!important;text-shadow:3px 3px 0 #e2d7ff!important}
.funy-mon-reward-title{display:block;margin-top:10px;color:#312944;font-size:15px;font-weight:900;text-align:center}
.funy-mon-reward-detail{margin-top:7px;padding:0;border:0;border-bottom:1px solid currentColor;background:none;color:#6d50c3;font-size:11px;font-weight:850;cursor:pointer}
.funy-mon-lose-copy{max-width:260px;margin:11px auto 0!important;text-align:center!important}
.funy-mon-claim-code{margin-top:10px!important;justify-content:center!important}
.funy-mon-post-guide{width:100%;margin-top:10px!important;text-align:center!important}

/* restore FUNY MON sheet + scope reward centering */
.funy-mon-sheet{position:relative!important;width:min(100%,420px)!important;padding:18px 20px calc(22px + env(safe-area-inset-bottom))!important;border:2px solid #302557!important;border-bottom:0!important;border-radius:24px 24px 0 0!important;background:linear-gradient(180deg,#faf8ff 0%,#fff 48%)!important;text-align:center!important;box-shadow:0 -4px 0 #9e83f1,0 -18px 48px rgba(30,19,52,.28)!important;overflow:hidden!important;transform-origin:50% 100%!important}
.funy-mon-reward-result{text-align:center!important;align-items:center!important}
.funy-mon-reward-result>strong,.funy-mon-reward-result>p,.funy-mon-reward-title,.funy-mon-lose-copy,.funy-mon-post-guide{text-align:center!important}

/* FUNY MON sheet polish v5 */
/* remove the old common pink success heart */
.is-success .funy-mon-result-icon:after{content:none!important;display:none!important}

/* softer close button */
.funy-mon-close{
  border-color:#8f839d!important;
  color:#6f6578!important;
  background:#f6f3f8!important;
  box-shadow:2px 0 0 #8f839d,-2px 0 0 #8f839d,0 2px 0 #8f839d,0 -2px 0 #8f839d,3px 3px 0 rgba(143,131,157,.22)!important
}

/* remove inner sheet hairline */
.funy-mon-sheet:before{content:none!important;display:none!important}

/* softer reward coupon outline */
.funy-mon-reward-kuji{
  background:#8f82a7!important;
}
.funy-mon-reward-result{
  border-color:#b9aec7!important;
}
.funy-mon-reward-cover{
  box-shadow:inset 0 0 0 4px #786a8d,inset 0 0 0 7px rgba(255,255,255,.28)!important;
}
.funy-mon-reward-kuji.is-swiping .funy-mon-reward-cover{
  box-shadow:inset 0 0 0 4px #786a8d,inset 0 0 0 7px #efe7b5,0 0 12px rgba(255,219,89,.34)!important
}


/* FUNY MON bottom-sheet visual refinement */
.is-success .funy-mon-result-icon:after{content:none!important}
.funy-mon-close{border-color:#8f849c!important;box-shadow:2px 2px 0 #ded7e8!important;color:#6d6477!important}
.funy-mon-reward-kuji{border-color:#756b82!important;box-shadow:4px 4px 0 #ddd7e5!important}
.funy-mon-reward-result{border:0!important;inset:6px!important}
.funy-mon-sheet:before{content:none!important}


/* FUNY MON capture outcome tone refinement */
.funy-mon-outcome-box{
  border-color:#8f849c!important;
  background:#fbf9fc!important;
  box-shadow:0 0 0 3px #e2dce8,5px 5px 0 rgba(63,51,78,.14)!important
}
.funy-mon-outcome.is-catch-success .funy-mon-outcome-box,
.funy-mon-outcome.is-catch-fail .funy-mon-outcome-box{background:#fbf9fc!important}
.funy-mon-outcome-kicker{color:#786b88!important}
.funy-mon-outcome-box button{
  border-color:#81758e!important;
  background:#887b98!important;
  box-shadow:inset 0 -3px 0 rgba(61,50,73,.14),3px 3px 0 rgba(70,58,84,.12)!important
}

/* FUNY MON pixel mosaic accents */
.funy-mon-close{border:0!important;background:#f7f3fa!important;box-shadow:-3px 0 0 #77698a,0 -3px 0 #a99ab9,3px 0 0 #c4b8d0,0 3px 0 #8f80a1,3px 3px 0 #ddd5e5!important}
.funy-mon-reward-kuji{background:linear-gradient(90deg,#77698a 0 3%,#9a8aaa 3% 7%,#c1b4cd 7% 10%,#89799b 10% 14%,#a99ab9 14% 18%,#77698a 18% 22%,#b7a9c4 22% 27%,#8f80a1 27% 32%,#c7bbd2 32% 37%,#796b8b 37% 43%,#a696b6 43% 49%,#c1b4cd 49% 55%,#877797 55% 61%,#b2a3c0 61% 68%,#77698a 68% 75%,#a99ab9 75% 82%,#c4b8d0 82% 89%,#8f80a1 89% 95%,#b8abc5 95% 100%)!important;padding:4px!important}
.funy-mon-save-notice{position:fixed;z-index:2147483647;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translate(-50%,14px);padding:11px 15px;border-radius:10px;background:rgba(42,37,48,.92);color:#fff;font-size:12px;font-weight:750;opacity:0;pointer-events:none;transition:.2s ease;white-space:nowrap}.funy-mon-save-notice.show{opacity:1;transform:translate(-50%,0)}

/* FUNY MON one-pixel purple mosaic borders */
.funy-mon-close{border:0!important;outline:0!important;background:#f8f5fc!important;box-shadow:-3px 0 0 #6f56bd,-3px -3px 0 #9c84d8,0 -3px 0 #b8a8e3,3px -3px 0 #7b62c5,3px 0 0 #a18bd8,3px 3px 0 #c0b1e8,0 3px 0 #8067c8,-3px 3px 0 #aa96df!important}
.funy-mon-reward-kuji{padding:4px!important;background:repeating-linear-gradient(90deg,#6f56bd 0 4px,#9b83d7 4px 8px,#b7a7e2 8px 12px,#7b62c5 12px 16px,#aa96df 16px 20px,#8067c8 20px 24px)!important}
.funy-mon-outcome-box{border:0!important;box-shadow:-4px 0 0 #745ac0,4px 0 0 #a58edc,0 -4px 0 #b8a7e4,0 4px 0 #8268ca,-4px -4px 0 #9b82d5,4px -4px 0 #755ac0,4px 4px 0 #b5a4e0,-4px 4px 0 #8e74cf!important;background:#fcfaff!important}
.funy-mon-outcome-kicker{color:#765bc1!important}
.funy-mon-outcome-box strong{color:#392b59!important}
.funy-mon-outcome-box p{color:#725f8b!important}
#funyMonOutcomeConfirm{background:#795dc6!important;box-shadow:3px 3px 0 #b8a6e4!important}

/* FUNY MON final visual alignment */
.funy-mon-reward-detail{font-weight:400!important}
.funy-mon-reward-kuji{background:repeating-linear-gradient(90deg,#7863b9 0 5px,#8c75c8 5px 10px,#9c87d0 10px 15px,#ad9bd8 15px 20px,#9781cb 20px 25px,#846dc1 25px 30px,#b6a7dd 30px 35px,#9179c9 35px 40px)!important}
.funy-mon-close{box-shadow:-3px 0 0 #7863b9,-3px -3px 0 #9c87d0,0 -3px 0 #ad9bd8,3px -3px 0 #846dc1,3px 0 0 #9781cb,3px 3px 0 #b6a7dd,0 3px 0 #8c75c8,-3px 3px 0 #9179c9!important}

/* FUNY MON chip sizing + discrete pixel mosaic */
.funy-mon-meta span{width:68px!important;box-sizing:border-box!important;padding:0 6px!important}
.funy-mon-reward-kuji{background:#7863b9!important;background-image:none!important}
.funy-mon-reward-kuji:after{content:"";position:absolute;z-index:9;inset:0;pointer-events:none;clip-path:polygon(0 0,100% 0,100% 4px,0 4px,0 100%,4px 100%,4px 0,100% 0,100% 100%,calc(100% - 4px) 100%,calc(100% - 4px) 0,0 0,0 calc(100% - 4px),100% calc(100% - 4px),100% 100%,0 100%);background:repeating-linear-gradient(90deg,#7863b9 0 6px,#8c75c8 6px 12px,#9c87d0 12px 18px,#ad9bd8 18px 24px,#9781cb 24px 30px,#846dc1 30px 36px,#b6a7dd 36px 42px,#9179c9 42px 48px)}

/* FUNY MON compact chips / line mosaic reward / purple outcome button border */
.funy-mon-meta span{width:auto!important;min-width:48px!important;max-width:58px!important;padding:0 6px!important}
.funy-mon-outcome-box button,#funyMonOutcomeConfirm{border:3px solid #765bc1!important}
.funy-mon-reward-kuji{padding:4px!important;background:repeating-linear-gradient(0deg,#7863b9 0 3px,#8c75c8 3px 6px,#9c87d0 6px 9px,#ad9bd8 9px 12px,#9781cb 12px 15px,#846dc1 15px 18px,#b6a7dd 18px 21px,#9179c9 21px 24px)!important;background-image:repeating-linear-gradient(0deg,#7863b9 0 3px,#8c75c8 3px 6px,#9c87d0 6px 9px,#ad9bd8 9px 12px,#9781cb 12px 15px,#846dc1 15px 18px,#b6a7dd 18px 21px,#9179c9 21px 24px)!important}
.funy-mon-reward-kuji:after{display:none!important}

/* FUNY MON calm reward border */
.funy-mon-reward-kuji{padding:3px!important;background:#8067c8!important;background-image:none!important;border:0!important;box-shadow:4px 4px 0 #ddd7ee!important}
.funy-mon-reward-kuji:after{display:none!important}
.funy-mon-reward-kuji:before{display:none!important}

/* FUNY MON map selection feedback */
.funy-mon-marker{transition:transform .18s ease,filter .18s ease}
.funy-mon-marker.is-selected{transform:translateY(-5px) scale(1.12);filter:drop-shadow(0 0 5px rgba(126,94,203,.72)) drop-shadow(0 5px 5px rgba(69,48,111,.25))}
.funy-mon-marker.is-selected .funy-mon-sprite{animation:funyMonSelected .48s ease both}
.funy-mon-marker.is-selected .funy-mon-shadow{transform:scale(.72);opacity:.45}
@keyframes funyMonSelected{0%{transform:scale(1)}35%{transform:scale(1.12) rotate(-3deg)}65%{transform:scale(1.08) rotate(3deg)}100%{transform:scale(1.05) rotate(0)}}

/* FUNY MON retro type */
.funy-mon-modal,.funy-mon-outcome,.funy-mon-reward-viewer{font-family:'DotGothic16','Pretendard Variable',Pretendard,sans-serif!important}
.funy-mon-modal button,.funy-mon-outcome button{font-family:'DotGothic16','Pretendard Variable',Pretendard,sans-serif!important}

/* 3-beat surprised selection before catch result */
.funy-mon-marker.is-selected{transform:translateY(-5px) scale(1.12);filter:drop-shadow(0 0 6px rgba(126,94,203,.82)) drop-shadow(0 6px 6px rgba(69,48,111,.28))}
.funy-mon-marker.is-selected .funy-mon-sprite{animation:funyMonSurprise .72s steps(1,end) both!important}
.funy-mon-surprise{position:absolute;z-index:20;left:50%;top:-18px;width:54px;height:24px;transform:translateX(-50%);pointer-events:none}
.funy-mon-surprise i{position:absolute;top:0;opacity:0;color:#765bc1;font:950 18px/1 'DotGothic16',monospace;text-shadow:1px 1px 0 #fff}
.funy-mon-surprise i:nth-child(1){left:3px;animation:funySurprisePop .22s 0s steps(2,end) both}
.funy-mon-surprise i:nth-child(2){left:21px;animation:funySurprisePop .22s .20s steps(2,end) both}
.funy-mon-surprise i:nth-child(3){left:39px;animation:funySurprisePop .22s .40s steps(2,end) both}
@keyframes funySurprisePop{0%{opacity:0;transform:translateY(5px) scale(.55)}45%,100%{opacity:1;transform:translateY(0) scale(1.12)}}
@keyframes funyMonSurprise{0%{transform:translate(0,0) scale(1)}18%{transform:translate(-2px,-5px) scale(1.12)}34%{transform:translate(2px,-2px) scale(1.07)}52%{transform:translate(-2px,-6px) scale(1.13)}68%{transform:translate(2px,-2px) scale(1.08)}84%{transform:translate(0,-7px) scale(1.14)}100%{transform:translate(0,-4px) scale(1.1)}}

/* full reward-area flash before result */
.funy-mon-reward-kuji.is-flashing{animation:funyRewardWholeFlash .82s steps(5,end) both!important}
.funy-mon-reward-kuji.is-flashing:after{display:block!important;content:"";position:absolute;z-index:20;inset:0;pointer-events:none;background:#fff!important;clip-path:none!important;animation:funyRewardFlashLayer .82s steps(5,end) both}
@keyframes funyRewardWholeFlash{0%,100%{filter:none}18%{filter:brightness(2)}38%{filter:brightness(.95)}58%{filter:brightness(2.2)}78%{filter:brightness(1.05)}}
@keyframes funyRewardFlashLayer{0%{opacity:0}18%{opacity:.94}38%{opacity:.12}58%{opacity:.88}78%,100%{opacity:0}}

/* FUNY MON reward controls 20260925 */
.funy-mon-copy-code{width:28px;height:28px;border:1px solid #c8bbdf;border-radius:7px;background:#f7f3ff;color:#6d50c3;font:900 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}
.funy-mon-post-guide{margin:6px auto 2px!important;padding:0!important;border:0!important;max-width:280px;text-align:center!important;color:#6f6577;font-size:10px;font-weight:750;line-height:1.45}

/* Catch request loading */
.funy-mon-catch-loading[hidden]{display:none!important}.funy-mon-catch-loading{position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;background:rgba(20,16,28,.28);backdrop-filter:blur(2px);pointer-events:auto}.funy-mon-catch-loading-card{min-width:190px;padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 14px 38px rgba(31,24,42,.2);display:flex;flex-direction:column;align-items:center;text-align:center}.funy-mon-catch-spinner{width:34px;height:34px;border:4px solid #e7e0f5;border-top-color:#7657c8;border-radius:50%;animation:funyMonCatchSpin .75s linear infinite}.funy-mon-catch-loading-card strong{margin-top:12px;font-size:14px;color:#302936}.funy-mon-catch-loading-card small{margin-top:5px;font-size:10px;color:#928b97}@keyframes funyMonCatchSpin{to{transform:rotate(360deg)}}

/* FUNY MON event entry application */
.funy-mon-entry-apply{margin-top:12px;padding-top:12px;border-top:1px solid rgba(128,98,216,.16)}
.funy-mon-entry-apply input{display:block;width:100%;height:46px;padding:0 13px;border:1px solid #ded8e8;border-radius:12px;background:#fff;color:#2d2832;font:600 13px/1 'Pretendard Variable',Pretendard,sans-serif;outline:none}
.funy-mon-entry-apply input:focus{border-color:#8062d8;box-shadow:0 0 0 3px rgba(128,98,216,.09)}
.funy-mon-entry-apply button{display:block;width:100%;height:48px;margin-top:9px;border:0;border-radius:12px;background:#8062d8;color:#fff;font:850 13px/1 'Pretendard Variable',Pretendard,sans-serif}
.funy-mon-entry-apply button:disabled{background:#d8d3df;color:#918a96}
.funy-mon-entry-message{min-height:16px;margin-top:7px;color:#8b8490;font-size:10px;line-height:1.5;text-align:center}
.funy-mon-entry-message.done{color:#3b8b59;font-weight:800}

/* Compact event application row */
.funy-mon-entry-apply{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:8px;align-items:center}
.funy-mon-entry-apply input{grid-column:1;margin:0;min-width:0}
.funy-mon-entry-apply button{grid-column:2;margin:0;width:88px;height:46px}
.funy-mon-entry-message{grid-column:1/-1;margin-top:0}
@media(max-width:360px){.funy-mon-entry-apply{grid-template-columns:minmax(0,1fr) 76px}.funy-mon-entry-apply button{width:76px}}

/* Entry reward coupon fit */
.funy-mon-reward-kuji:has(.funy-mon-entry-apply){height:224px!important}
.funy-mon-reward-result:has(.funy-mon-entry-apply){justify-content:flex-start!important;padding:16px 22px 13px!important;overflow:hidden!important}
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-reward-retro{font-size:25px!important;line-height:1!important}
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-reward-title{margin-top:7px!important;font-size:14px!important;line-height:1.2!important}
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-post-guide{margin-top:6px!important;padding-top:6px!important;font-size:9.5px!important;line-height:1.3!important}
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-reward-detail{margin-top:5px!important}
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-entry-apply{width:100%;margin-top:9px;padding-top:9px}
@media(max-width:360px){.funy-mon-reward-kuji:has(.funy-mon-entry-apply){height:230px!important}.funy-mon-reward-result:has(.funy-mon-entry-apply){padding-left:18px!important;padding-right:18px!important}}


/* FUNY MON polish / event UX 20261005 */
.funy-mon-marker.move-0,.funy-mon-marker.move-1,.funy-mon-marker.move-2{animation-timing-function:ease-in-out}
.funy-mon-sprite{animation-duration:1.35s;animation-timing-function:ease-in-out}
.funy-mon-shadow{animation-duration:1.35s;animation-timing-function:ease-in-out}
.funy-mon-result-icon{position:relative}
.funy-mon-new-badge{position:absolute;right:-3px;top:4px;z-index:5;display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:24px;padding:0 8px;border-radius:999px;background:#7657c8;color:#fff;font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;box-shadow:0 5px 14px rgba(94,69,157,.24);animation:funyNewPop .32s cubic-bezier(.2,.85,.25,1.15)}
@keyframes funyNewPop{0%{opacity:0;transform:translateY(5px) scale(.82)}100%{opacity:1;transform:translateY(0) scale(1)}}

.funy-mon-pending-entry{position:fixed;right:max(14px,calc((100vw - 420px)/2 + 14px));bottom:calc(max(env(safe-area-inset-bottom,0px),12px) + 82px);z-index:2147482500;display:flex;align-items:center;gap:9px;min-width:178px;max-width:250px;padding:10px 11px;border:1px solid #ded4ef;border-radius:15px;background:rgba(255,255,255,.97);box-shadow:0 10px 26px rgba(42,31,65,.16);color:#302936;text-align:left;backdrop-filter:blur(10px)}
.funy-mon-pending-entry[hidden]{display:none!important}
.funy-mon-pending-entry>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}
.funy-mon-pending-entry b{font-size:11px;font-weight:900;color:#5f43b3}
.funy-mon-pending-entry small{font-size:9px;font-weight:700;color:#8f8795;white-space:nowrap}
.funy-mon-pending-entry>i{font-style:normal;font-size:20px;color:#8062d8}
.funy-mon-pending-dot{width:9px;height:9px;border-radius:50%;background:#8062d8;box-shadow:0 0 0 5px rgba(128,98,216,.10);flex:0 0 auto}
body.funy-mon-open .funy-mon-pending-entry{opacity:0;visibility:hidden;pointer-events:none}

.funymon-thumb-badge{position:absolute;left:6px;bottom:6px;z-index:4;display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:999px;background:rgba(73,50,126,.92);color:#fff;font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.03em;box-shadow:0 3px 8px rgba(34,22,57,.22)}
.shop-card.is-funymon-shop{border-color:#d9ccef;box-shadow:0 4px 14px rgba(104,77,171,.07)}

.funymon-detail-banner{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:12px 13px;border:1px solid #ded3f0;border-radius:14px;background:linear-gradient(135deg,#f7f2ff,#fff);box-shadow:0 4px 14px rgba(85,62,145,.06)}
.funymon-detail-kicker{flex:0 0 auto;display:inline-flex;align-items:center;height:25px;padding:0 8px;border-radius:999px;background:#7457c4;color:#fff;font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em}
.funymon-detail-banner>div{min-width:0;display:flex;flex:1;flex-direction:column;gap:2px}
.funymon-detail-banner b{font-size:12px;color:#372e45}
.funymon-detail-banner small{overflow:hidden;color:#81788a;font-size:9.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.funymon-detail-banner>i{font-style:normal;font-size:20px;color:#8569cf}

@media(max-width:420px){
  .funy-mon-pending-entry{right:12px;bottom:calc(max(env(safe-area-inset-bottom,0px),12px) + 78px);min-width:164px}
}
@media(prefers-reduced-motion:reduce){
  .funy-mon-new-badge{animation:none!important}
}

.funy-mon-event-caption{margin:4px auto 0!important;color:#8062d8!important;font-size:9.5px!important;font-weight:800!important}
.funy-mon-event-caption[hidden]{display:none!important}
.funy-mon-entry-rule{width:100%;margin:7px auto 0;padding:7px 9px;border:1px solid #e2d8f3;border-radius:9px;background:#f7f3ff;color:#684db2;font-size:9px;font-weight:800;line-height:1.35;text-align:center}


/* FUNY MON entry reward auto-height 20261008 */
.funy-mon-reward-kuji:has(.funy-mon-entry-apply){
  height:auto!important;
  min-height:224px!important;
  overflow:hidden!important;
}
.funy-mon-reward-result:has(.funy-mon-entry-apply){
  position:relative!important;
  inset:auto!important;
  min-height:216px!important;
  height:auto!important;
  overflow:visible!important;
  justify-content:flex-start!important;
  padding:16px 22px 13px!important;
}
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-post-guide,
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-entry-rule,
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-entry-message{
  overflow-wrap:anywhere;
  word-break:keep-all;
}


/* FUNY MON entry UX final override 20261008 v3 */
.funy-mon-entry-rule{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  align-self:center!important;
  justify-content:center!important;
  margin:7px auto 0!important;
  padding:7px 12px!important;
  border:1px solid #e2d8f3!important;
  border-radius:999px!important;
  background:#f7f3ff!important;
  color:#684db2!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.35!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:keep-all!important;
}

.funy-mon-reward-kuji:has(.funy-mon-entry-apply){
  height:auto!important;
  min-height:224px!important;
  overflow:visible!important;
}
.funy-mon-reward-result:has(.funy-mon-entry-apply){
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  min-height:216px!important;
  height:auto!important;
  overflow:visible!important;
  justify-content:flex-start!important;
  align-items:center!important;
  padding:16px 22px 13px!important;
  box-sizing:border-box!important;
}
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-reward-title,
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-post-guide,
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-entry-rule,
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-entry-message{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:keep-all!important;
  white-space:normal!important;
}

.funy-mon-sheet:has(.funy-mon-entry-apply){
  height:auto!important;
  max-height:calc(100dvh - max(env(safe-area-inset-top,0px),8px))!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
.funy-mon-modal:has(.funy-mon-entry-apply){
  align-items:flex-end!important;
}

.funy-mon-entry-apply input{
  padding-left:10px!important;
  padding-right:10px!important;
  font-size:11.5px!important;
  letter-spacing:-.025em!important;
}
.funy-mon-entry-apply input::placeholder{
  font-size:10.5px!important;
  letter-spacing:-.045em!important;
  color:#9b94a0!important;
  opacity:1!important;
}
@media(max-width:360px){
  .funy-mon-entry-apply input{font-size:10.8px!important;padding-left:8px!important;padding-right:8px!important}
  .funy-mon-entry-apply input::placeholder{font-size:9.8px!important}
}


/* FUNY MON entry UX final override 20261008 v4 */
.funy-mon-post-guide{
  white-space:pre-wrap!important;
}
.funy-mon-entry-rule{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  align-self:center!important;
  justify-content:center!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:keep-all!important;
}
.funy-mon-reward-kuji:has(.funy-mon-entry-apply){
  height:auto!important;
  min-height:224px!important;
  overflow:visible!important;
}
.funy-mon-reward-result:has(.funy-mon-entry-apply){
  position:relative!important;
  inset:auto!important;
  min-height:216px!important;
  height:auto!important;
  overflow:visible!important;
  justify-content:flex-start!important;
  align-items:center!important;
  padding:16px 22px 13px!important;
}
.funy-mon-sheet:has(.funy-mon-entry-apply){
  height:auto!important;
  max-height:calc(100dvh - max(env(safe-area-inset-top,0px),8px))!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scroll-behavior:smooth!important;
}
body.funy-mon-entry-focus .funy-mon-sheet{
  padding-bottom:calc(34px + env(safe-area-inset-bottom))!important;
}
#funyMonEntryInstagram{
  scroll-margin-top:90px!important;
  scroll-margin-bottom:180px!important;
  font-size:13px!important;
  letter-spacing:-.01em!important;
}
#funyMonEntryInstagram::placeholder{
  font-size:12.5px!important;
  letter-spacing:-.02em!important;
  color:#98909d!important;
  opacity:1!important;
}
@media(max-width:360px){
  #funyMonEntryInstagram{font-size:12px!important}
  #funyMonEntryInstagram::placeholder{font-size:11.5px!important}
}


/* FUNY MON keyboard entry mode 20261008 v5 */
.funy-mon-keyboard-dim[hidden]{display:none!important}
.funy-mon-keyboard-dim{
  position:fixed;
  inset:0;
  z-index:2147483645;
  background:rgba(26,20,35,.48);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}

body.funy-mon-keyboard-open .funy-mon-entry-apply{
  position:fixed!important;
  left:50%!important;
  bottom:var(--funy-keyboard-bottom,12px)!important;
  z-index:2147483646!important;
  width:min(calc(100vw - 28px),392px)!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  padding:12px!important;
  border:1px solid #e1d8ee!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(26,18,40,.22)!important;
  grid-template-columns:minmax(0,1fr) 88px!important;
  gap:8px!important;
}

body.funy-mon-keyboard-open .funy-mon-entry-message{
  min-height:16px!important;
  margin-top:0!important;
}

#funyMonEntryInstagram{
  font-size:16px!important;
  line-height:1!important;
  letter-spacing:-.01em!important;
  transform:none!important;
}
#funyMonEntryInstagram::placeholder{
  font-size:14px!important;
  letter-spacing:-.02em!important;
}
body.funy-mon-keyboard-open #funyMonEntryInstagram{
  font-size:16px!important;
}
body.funy-mon-keyboard-open #funyMonEntryInstagram::placeholder{
  font-size:14px!important;
}

@media(max-width:360px){
  body.funy-mon-keyboard-open .funy-mon-entry-apply{
    width:calc(100vw - 20px)!important;
    grid-template-columns:minmax(0,1fr) 78px!important;
    padding:10px!important;
  }
  body.funy-mon-keyboard-open .funy-mon-entry-apply button{
    width:78px!important;
  }
}


/* FUNY MON keyboard sheet motion 20261008 v6 */
.funy-mon-keyboard-dim{display:none!important}
body.funy-mon-keyboard-open .funy-mon-entry-apply{
  position:static!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  z-index:auto!important;
  width:100%!important;
  max-width:none!important;
  transform:none!important;
  margin-top:9px!important;
  padding-top:9px!important;
  padding-left:0!important;
  padding-right:0!important;
  padding-bottom:0!important;
  border:0!important;
  border-top:1px solid rgba(128,98,216,.16)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  grid-template-columns:minmax(0,1fr) 88px!important;
}

body.funy-mon-keyboard-open .funy-mon-sheet{
  transform:translateY(calc(-1 * var(--funy-keyboard-shift,56px))) scale(1.035)!important;
  transform-origin:50% 100%!important;
  transition:transform .22s cubic-bezier(.22,.8,.24,1)!important;
  max-height:calc(100dvh - 8px)!important;
  overflow-y:auto!important;
}

body:not(.funy-mon-keyboard-open) .funy-mon-sheet{
  transition:transform .22s cubic-bezier(.22,.8,.24,1)!important;
}

body.funy-mon-keyboard-open .funy-mon-entry-message{
  display:block!important;
  min-height:16px!important;
  visibility:visible!important;
  opacity:1!important;
}

#funyMonEntryInstagram{
  font-size:16px!important;
}
#funyMonEntryInstagram::placeholder{
  font-size:14px!important;
}

/* FUNY MON No.11~15 type chips */
.funy-mon-meta .type-longnyang{background:#eeeef1;border-color:#d9d9df;color:#5e5c66}
.funy-mon-meta .type-shuffleling{background:#eee9f5;border-color:#d8cae6;color:#5b3a73}
.funy-mon-meta .type-neonkong{background:#fff8df;border-color:#f2df9d;color:#a77b12}
.funy-mon-meta .type-paoring{background:#edf8e9;border-color:#cde8c3;color:#448d48}
.funy-mon-meta .type-jokerbi{background:#f2eaff;border-color:#d9c8f5;color:#6b4ba6}


/* FUNY MON No.11~15 visual scale tuning */
.funy-mon-marker.mon-11 img{transform:scale(1.12);transform-origin:50% 82%}
.funy-mon-marker.mon-12 img{transform:scale(1.10);transform-origin:50% 82%}
.funy-mon-marker.mon-13 img{transform:scale(1.11);transform-origin:50% 82%}
.funy-mon-marker.mon-14 img{transform:scale(1.09);transform-origin:50% 82%}
.funy-mon-marker.mon-15 img{transform:scale(1.12);transform-origin:50% 82%}

.funy-mon-sheet.mon-longnyang .funy-mon-result-sprite{transform:scale(1.12)}
.funy-mon-sheet.mon-shuffleling .funy-mon-result-sprite{transform:scale(1.10)}
.funy-mon-sheet.mon-neonkong .funy-mon-result-sprite{transform:scale(1.11)}
.funy-mon-sheet.mon-paoring .funy-mon-result-sprite{transform:scale(1.09)}
.funy-mon-sheet.mon-jokerbi .funy-mon-result-sprite{transform:scale(1.12)}

/* FUNY MON No.11~15 custom capture FX */
.funy-mon-sheet.mon-longnyang .funy-mon-fx i{
  color:#8d72d6;
  text-shadow:0 0 9px rgba(141,114,214,.48);
  animation:funyFxLongnyang 1.15s ease-in-out infinite!important;
}
.funy-mon-sheet.mon-shuffleling .funy-mon-fx i{
  color:#5b457b;
  text-shadow:0 0 10px rgba(73,48,101,.55);
  animation:funyFxShuffleling 1.3s steps(5,end) infinite!important;
}
.funy-mon-sheet.mon-neonkong .funy-mon-fx i{
  color:#e3ad16;
  text-shadow:0 0 11px rgba(255,205,55,.72);
  animation:funyFxNeonkong .82s steps(4,end) infinite!important;
}
.funy-mon-sheet.mon-paoring .funy-mon-fx i{
  color:#62a95b;
  text-shadow:0 0 9px rgba(94,171,87,.50);
  animation:funyFxPaoring 1.35s ease-in-out infinite!important;
}
.funy-mon-sheet.mon-jokerbi .funy-mon-fx i{
  color:#9a61d9;
  text-shadow:0 0 12px rgba(150,83,218,.68);
  animation:funyFxJokerbi 1.05s steps(6,end) infinite!important;
}

.funy-mon-sheet.mon-longnyang .funy-mon-fx i:nth-child(1),
.funy-mon-sheet.mon-longnyang .funy-mon-fx i:nth-child(5){font-size:20px!important}
.funy-mon-sheet.mon-shuffleling .funy-mon-fx i:nth-child(1),
.funy-mon-sheet.mon-shuffleling .funy-mon-fx i:nth-child(5){font-size:20px!important}
.funy-mon-sheet.mon-neonkong .funy-mon-fx i{font-size:21px!important}
.funy-mon-sheet.mon-paoring .funy-mon-fx i:nth-child(1),
.funy-mon-sheet.mon-paoring .funy-mon-fx i:nth-child(5){font-size:21px!important}
.funy-mon-sheet.mon-jokerbi .funy-mon-fx i:nth-child(3){font-size:22px!important}

@keyframes funyFxLongnyang{
  0%,100%{transform:translateY(3px) scale(.86);opacity:.45}
  50%{transform:translateY(-7px) scale(1.08);opacity:1}
}
@keyframes funyFxShuffleling{
  0%{transform:translate(-2px,2px) rotate(-8deg);opacity:.35}
  50%{transform:translate(3px,-5px) rotate(8deg);opacity:1}
  100%{transform:translate(-2px,2px) rotate(-8deg);opacity:.35}
}
@keyframes funyFxNeonkong{
  0%,100%{transform:scale(.72);opacity:.35}
  40%{transform:scale(1.22);opacity:1}
  62%{transform:scale(.92);opacity:.62}
}
@keyframes funyFxPaoring{
  0%{transform:translate(-2px,5px) rotate(-10deg);opacity:.35}
  50%{transform:translate(3px,-7px) rotate(12deg);opacity:1}
  100%{transform:translate(-2px,5px) rotate(-10deg);opacity:.35}
}
@keyframes funyFxJokerbi{
  0%,100%{transform:translateY(3px) rotate(-8deg) scale(.82);opacity:.35}
  50%{transform:translateY(-6px) rotate(10deg) scale(1.16);opacity:1}
}


/* FUNY MON No.11~15 unified scale v2 */
.funy-mon-marker.mon-11 img,
.funy-mon-marker.mon-12 img,
.funy-mon-marker.mon-13 img,
.funy-mon-marker.mon-14 img,
.funy-mon-marker.mon-15 img{
  transform:scale(1.18)!important;
  transform-origin:50% 82%!important;
}
.funy-mon-sheet.mon-longnyang .funy-mon-result-sprite,
.funy-mon-sheet.mon-shuffleling .funy-mon-result-sprite,
.funy-mon-sheet.mon-neonkong .funy-mon-result-sprite,
.funy-mon-sheet.mon-paoring .funy-mon-result-sprite,
.funy-mon-sheet.mon-jokerbi .funy-mon-result-sprite{
  transform:scale(1.18)!important;
}

/* Preserve Admin reward description line breaks */
.funy-mon-reward-result .funy-mon-post-guide,
.funy-mon-reward-result:has(.funy-mon-entry-apply) .funy-mon-post-guide{
  white-space:pre-wrap!important;
}
.funy-mon-lose-copy{
  white-space:pre-wrap!important;
}


/* FUNY MON detail event link reset */
a.funymon-detail-banner,
a.funymon-detail-banner:link,
a.funymon-detail-banner:visited,
a.funymon-detail-banner:hover,
a.funymon-detail-banner:active{
  color:inherit!important;
  text-decoration:none!important;
}
a.funymon-detail-banner b,
a.funymon-detail-banner small,
a.funymon-detail-banner i,
a.funymon-detail-banner span{
  text-decoration:none!important;
}
