:root{--fishing-gold: #ffd700;--fishing-purple: #7860e8;--fishing-purple-deep: #422696}#fishing-event-test-icon{position:relative;width:60px;height:60px;padding:0;border:0;background:transparent;cursor:pointer;filter:drop-shadow(0 4px 9px rgba(0,0,0,.42));transition:transform .2s ease,filter .2s ease}#fishing-event-test-icon:hover,#fishing-event-test-icon:focus-visible{transform:scale(1.09);filter:drop-shadow(0 5px 11px rgba(0,0,0,.48)) brightness(1.12)}#fishing-event-test-icon:disabled{opacity:.55;cursor:wait}.fishing-event-test-fish{position:absolute;left:14px;top:22px;z-index:2;width:33px;aspect-ratio:3 / 2;background:url(./assets/slots/event_fishing/blue-energy-fish-swim-sheet-v4.webp) 0 0 / 400% 100% no-repeat;filter:drop-shadow(0 2px 2px rgba(0,31,73,.5));animation:fishing-test-fish-swim .72s step-end infinite}.fishing-event-test-net{position:absolute;left:20px;top:9px;z-index:3;width:34px;height:34px;object-fit:contain;opacity:.82;transform:rotate(-8deg);filter:drop-shadow(0 1px 2px rgba(0,31,73,.46));pointer-events:none}.fishing-event-test-badge{position:absolute;right:7px;bottom:-2px;z-index:4;min-width:27px;padding:2px 4px;border:1px solid #fff1a1;border-radius:8px;background:#ef3e73;box-shadow:0 2px 4px #00000061;color:#fff;font:900 9px/1 Outfit,sans-serif;letter-spacing:.4px;text-align:center;pointer-events:none}@keyframes fishing-test-fish-swim{0%,24%{background-position:0 0}25%,49%{background-position:33.3333% 0}50%,74%{background-position:66.6667% 0}75%,to{background-position:100% 0}}.fishing-event-overlay{position:fixed;inset:0;z-index:1000100;display:block;padding:0;overflow:hidden;box-sizing:border-box;background:#12093a;opacity:0;transition:opacity .18s ease}.fishing-event-overlay.hidden{display:none}.fishing-event-overlay.is-open{opacity:1}.fishing-event-dialog{--fishing-net-size: min(62vw, 46vh, 420px);position:relative;width:100%;height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:0;box-shadow:none;background:radial-gradient(circle at 18% 0%,rgba(104,236,255,.22),transparent 34%),radial-gradient(circle at 90% 8%,rgba(255,104,185,.18),transparent 36%),linear-gradient(165deg,#442b79,#24185e 46%,#141044);color:#fff;font-family:Lilita One,Outfit,sans-serif}.fishing-event-header{position:relative;flex:0 0 auto;min-height:calc(52px + max(env(safe-area-inset-top),var(--tg-total-top-inset, 0px)));display:flex;align-items:center;justify-content:center;padding:calc(8px + max(env(safe-area-inset-top),var(--tg-total-top-inset, 0px))) 60px 4px;box-sizing:border-box;text-align:center}.fishing-event-title{margin:0;color:var(--fishing-gold);font:900 clamp(21px,5.6vw,32px)/1 "Lilita One","Outfit",sans-serif;letter-spacing:1.4px;text-transform:uppercase;text-shadow:0 0 22px rgba(255,215,0,.72),0 3px 12px rgba(0,0,0,.85),0 0 14px rgba(84,233,255,.5)}.fishing-event-close{position:absolute;top:calc(6px + max(env(safe-area-inset-top),var(--tg-total-top-inset, 0px)));right:10px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:linear-gradient(180deg,#ff756efa,#cf2c66fa);box-shadow:0 8px 14px #20051d7a;cursor:pointer;transition:transform .18s ease,filter .2s ease}.fishing-event-close:hover{transform:translateY(-1px) scale(1.04);filter:brightness(1.08)}.fishing-event-close:active{transform:translateY(2px) scale(.98)}.fishing-event-close img{width:16px;height:16px;object-fit:contain}.fishing-event-close:disabled{opacity:.45;cursor:wait}.fishing-event-hud{flex:0 0 auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:2px 10px 8px}.fishing-event-hud-item{display:flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:4px 10px;border:1.5px solid rgba(255,215,0,.6);border-radius:999px;background:linear-gradient(180deg,#2a10458c,#180830a6);box-shadow:0 0 10px #ffd7002e;color:#e7ddff;font:800 13px/1 Outfit,sans-serif;box-sizing:border-box}.fishing-event-hud-item strong{color:#ffd94a;font:900 17px/1 Lilita One,Outfit,sans-serif}.fishing-event-hud-item img{width:20px;height:20px;object-fit:contain}.fishing-event-hud-item.is-bumped strong{animation:fishing-hud-bump .5s cubic-bezier(.2,.9,.25,1.3)}.fishing-event-stage{position:relative;width:100%;flex:1 1 0;min-height:0;overflow:hidden;box-sizing:border-box;border-top:2px solid rgba(255,215,0,.5);border-bottom:2px solid rgba(255,215,0,.5);background:#2a8fb8 url(./assets/slots/theme_10/background.webp) center 42% / cover no-repeat;box-shadow:inset 0 0 44px #0312388c;touch-action:none;cursor:pointer;isolation:isolate}.fishing-event-stage:focus-visible{outline:3px solid rgba(255,241,151,.9);outline-offset:-3px}.fishing-event-stage:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 22% 15%,rgba(255,255,255,.5) 0 2px,transparent 3px),radial-gradient(circle at 78% 31%,rgba(255,255,255,.38) 0 3px,transparent 4px),radial-gradient(circle at 42% 78%,rgba(255,255,255,.3) 0 2px,transparent 3px),radial-gradient(circle at 50% 0%,rgba(140,245,255,.22),transparent 55%),linear-gradient(180deg,#71f4f91f,#0a0c3e4d)}.fishing-event-stage:after{content:"";position:absolute;inset:0;z-index:13;opacity:0;pointer-events:none;background:radial-gradient(circle at var(--flash-x, 50%) var(--flash-y, 50%),rgba(255,244,190,.85),rgba(255,214,90,0) 55%)}.fishing-event-stage.is-flashing:after{animation:fishing-stage-flash .5s ease-out}.fishing-event-stage.is-shaking{animation:fishing-stage-shake .36s ease-in-out}.fishing-event-fish-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.fishing-event-fly-layer{position:absolute;inset:0;z-index:15;pointer-events:none}.fishing-event-fly-fish{position:absolute;aspect-ratio:3 / 2;background-image:url(./assets/slots/event_fishing/blue-energy-fish-swim-sheet-v3.webp);background-repeat:no-repeat;background-size:400% 100%;filter:drop-shadow(0 5px 8px rgba(0,33,67,.4));transform:translate(-50%,-50%);will-change:transform,opacity}.fishing-event-fly-fish[data-size=large]{background-image:url(./assets/slots/event_fishing/blue-energy-fish-swim-sheet-v4.webp)}.fishing-event-fly-fish.is-flying{animation:fishing-fish-fly .46s cubic-bezier(.4,0,.3,1) forwards}.fishing-event-fx-layer{position:absolute;inset:0;z-index:11;pointer-events:none;overflow:hidden}.fishing-event-fish{--fish-bob: 0px;--fish-facing-scale: -1;position:absolute;left:0;top:0;aspect-ratio:3 / 2;background-image:url(./assets/slots/event_fishing/blue-energy-fish-swim-sheet-v3.webp);background-repeat:no-repeat;background-size:400% 100%;filter:drop-shadow(0 5px 5px rgba(0,33,67,.34));transform:translate(-50%,calc(-50% + var(--fish-bob))) scaleX(var(--fish-facing-scale));transform-origin:center;will-change:translate,transform}.fishing-event-fish[data-size=small]{opacity:.92}.fishing-event-fish[data-size=large]{background-image:url(./assets/slots/event_fishing/blue-energy-fish-swim-sheet-v4.webp);filter:drop-shadow(0 7px 7px rgba(0,25,62,.42)) saturate(1.08)}.fishing-event-fish.is-struggling{z-index:8;animation:fishing-fish-struggle .5s ease-in-out}.fishing-event-fish.is-escaping{z-index:7;animation:fishing-fish-escape .6s ease-out}.fishing-event-net{position:absolute;z-index:10;width:var(--fishing-net-size);height:auto;opacity:0;pointer-events:none;filter:drop-shadow(0 9px 9px rgba(0,38,65,.38));transform:translate(-50%,-50%) scale(.12) rotate(-24deg);transform-origin:center}.fishing-event-net.is-casting{animation:fishing-net-cast .52s cubic-bezier(.18,.72,.25,1) forwards}.fishing-event-net.is-casting.is-open{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}.fishing-event-net.is-cinching{animation:fishing-net-cinch .46s cubic-bezier(.25,.9,.3,1.2)}.fishing-event-net.is-leaving{animation:fishing-net-leave .36s ease-in forwards}.fishing-event-splash{position:absolute;width:var(--fishing-net-size);aspect-ratio:1;border:4px solid rgba(214,248,255,.9);border-radius:50%;box-shadow:0 0 22px #a0f0ff99,inset 0 0 22px #a0f0ff66;transform:translate(-50%,-50%) scale(.35);opacity:0;animation:fishing-splash .62s ease-out forwards}.fishing-event-pop{position:absolute;display:flex;align-items:center;gap:3px;padding:3px 9px;border:1.5px solid rgba(255,215,0,.75);border-radius:999px;background:linear-gradient(180deg,#341458eb,#140830f0);color:#ffe97a;font:900 15px/1 Lilita One,Outfit,sans-serif;text-shadow:0 2px 3px rgba(0,0,0,.55);white-space:nowrap;transform:translate(-50%,-50%);opacity:0;animation:fishing-pop-rise 1s cubic-bezier(.2,.8,.3,1) forwards}.fishing-event-pop img{width:16px;height:16px;object-fit:contain}.fishing-event-spark{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#fffbe0 0 35%,#ffd94a 60%,#ffd94a00 72%);transform:translate(-50%,-50%);opacity:0;animation:fishing-spark-fly .7s ease-out forwards}.fishing-event-round-result{position:absolute;left:50%;bottom:14px;z-index:12;min-height:24px;max-width:88%;padding:6px 16px;border:1.5px solid rgba(255,215,0,.55);border-radius:999px;background:linear-gradient(180deg,#2a1045db,#10062ce6);color:#ffd94a;font:900 16px/1.2 Lilita One,Outfit,sans-serif;text-align:center;text-shadow:0 2px 3px rgba(0,0,0,.5);transform:translate(-50%);box-sizing:border-box}.fishing-event-round-result:empty{display:none}.fishing-event-round-result.is-hit{animation:fishing-result-pop .42s cubic-bezier(.2,.9,.25,1.3)}.fishing-event-summary{position:absolute;left:50%;top:50%;z-index:14;width:min(440px,calc(100% - 28px));max-height:calc(100% - 28px);display:flex;flex-direction:column;justify-content:center;padding:20px;border:2px solid rgba(178,150,245,.72);border-radius:26px;background:linear-gradient(180deg,#7860e8f7,#2e1874fa);box-shadow:inset 0 2px 10px #ffffff38,0 16px 34px #0604288c;transform:translate(-50%,-50%);overflow:auto;cursor:default;box-sizing:border-box}.fishing-event-summary.hidden{display:none}.fishing-event-summary h3{margin:0 0 12px;color:var(--fishing-gold);font:900 clamp(20px,5.4vw,27px)/1 "Lilita One","Outfit",sans-serif;letter-spacing:1px;text-align:center;text-transform:uppercase;text-shadow:0 0 18px rgba(255,215,0,.6),0 3px 8px rgba(0,0,0,.6)}.fishing-event-summary-list{display:grid;gap:6px}.fishing-event-summary-row{display:grid;grid-template-columns:1fr auto 66px;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#1408346b;font:800 14px/1 Outfit,sans-serif}.fishing-event-summary-row strong{color:#fff}.fishing-event-summary-row em{color:#ffd94a;font-style:normal;font-weight:900;text-align:right}.fishing-event-summary-total{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 12px;color:var(--fishing-gold);font:900 34px/1 Lilita One,Outfit,sans-serif;text-shadow:0 0 20px rgba(255,215,0,.55),0 3px 8px rgba(0,0,0,.55)}.fishing-event-summary-total img{width:40px;height:40px;object-fit:contain}.fishing-event-footer{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 14px calc(12px + max(env(safe-area-inset-bottom),var(--tg-total-bottom-inset, 0px)));box-sizing:border-box;background:linear-gradient(180deg,#7860e847,#140a3c00)}.fishing-event-status{min-height:20px;margin:0;color:#fff;font:800 14px/1.2 Outfit,sans-serif;text-align:center;text-shadow:0 2px 4px rgba(9,21,91,.55)}.fishing-event-guide{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.fishing-event-guide-item{display:flex;align-items:center;gap:4px;padding:3px 8px;border:1.5px solid rgba(255,215,0,.5);border-radius:999px;background:linear-gradient(180deg,#2a104580,#1808309e);color:#ffe9a8;font:900 11px/1 Outfit,sans-serif;white-space:nowrap}.fishing-event-guide-item img{width:14px;height:14px}.fishing-event-guide-fish{width:15px;aspect-ratio:3 / 2;background:url(./assets/slots/event_fishing/blue-energy-fish-swim-sheet-v3.webp) 0 0 / 400% 100% no-repeat}.fishing-event-guide-item[data-size=small] .fishing-event-guide-fish{width:12px}.fishing-event-guide-item[data-size=large] .fishing-event-guide-fish{width:19px;background-image:url(./assets/slots/event_fishing/blue-energy-fish-swim-sheet-v4.webp)}.fishing-event-claim{width:min(240px,84%);min-height:48px;display:block;margin:4px auto 0;border:3px solid #fff0a0;border-radius:24px;background:linear-gradient(180deg,#ffdb50,#f09a18);box-shadow:0 5px #a15313,0 8px 16px #1a064966,inset 0 2px #ffffffa6;color:#59300d;font:900 20px/1 Lilita One,Outfit,sans-serif;letter-spacing:.4px;text-shadow:0 1px 0 rgba(255,255,255,.65);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.fishing-event-claim:hover:not(:disabled){filter:brightness(1.07)}.fishing-event-claim:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #a15313}.fishing-event-claim:disabled{opacity:.58;cursor:wait}@keyframes fishing-net-cast{0%{opacity:0;transform:translate(-50%,-170%) scale(.12) rotate(-25deg)}45%{opacity:1;transform:translate(-50%,-76%) scale(.58) rotate(12deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes fishing-net-cinch{0%{transform:translate(-50%,-50%) scale(1) rotate(0)}28%{transform:translate(-50%,-54%) scale(.82) rotate(-4deg)}52%{transform:translate(-50%,-48%) scale(.9) rotate(3deg)}76%{transform:translate(-50%,-52%) scale(.86) rotate(-2deg)}to{transform:translate(-50%,-50%) scale(.88) rotate(0)}}@keyframes fishing-net-leave{0%{opacity:1;transform:translate(-50%,-50%) scale(.88)}to{opacity:0;transform:translate(-50%,-95%) scale(.55) rotate(9deg)}}@keyframes fishing-fish-struggle{0%{transform:translate(-50%,calc(-50% + var(--fish-bob))) scaleX(var(--fish-facing-scale))}15%{transform:translate(-52%,calc(-56% + var(--fish-bob))) rotate(-16deg) scaleX(var(--fish-facing-scale))}32%{transform:translate(-48%,calc(-44% + var(--fish-bob))) rotate(15deg) scaleX(var(--fish-facing-scale))}50%{transform:translate(-52%,calc(-54% + var(--fish-bob))) rotate(-12deg) scaleX(var(--fish-facing-scale))}68%{transform:translate(-48%,calc(-46% + var(--fish-bob))) rotate(11deg) scaleX(var(--fish-facing-scale))}84%{transform:translate(-51%,calc(-52% + var(--fish-bob))) rotate(-7deg) scaleX(var(--fish-facing-scale))}to{transform:translate(-50%,calc(-50% + var(--fish-bob))) scaleX(var(--fish-facing-scale))}}@keyframes fishing-fish-fly{0%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}22%{opacity:1;transform:translate(calc(-50% + var(--fly-x) * .12),calc(-50% + var(--fly-y) * .04 - 16px)) scale(1.08) rotate(-10deg)}78%{opacity:.95;transform:translate(calc(-50% + var(--fly-x) * .82),calc(-50% + var(--fly-y) * .82)) scale(.46) rotate(10deg)}to{opacity:0;transform:translate(calc(-50% + var(--fly-x)),calc(-50% + var(--fly-y))) scale(.16) rotate(16deg)}}@keyframes fishing-fish-escape{0%{transform:translate(-50%,calc(-50% + var(--fish-bob))) scaleX(var(--fish-facing-scale))}18%{transform:translate(calc(-50% + var(--escape-x, 10px)),calc(-58% + var(--fish-bob))) rotate(-16deg) scaleX(var(--fish-facing-scale))}42%{transform:translate(calc(-50% + var(--escape-x, 10px) * 2),calc(-42% + var(--fish-bob))) rotate(14deg) scaleX(var(--fish-facing-scale))}70%{transform:translate(calc(-50% + var(--escape-x, 10px)),calc(-54% + var(--fish-bob))) rotate(-7deg) scaleX(var(--fish-facing-scale))}to{transform:translate(-50%,calc(-50% + var(--fish-bob))) scaleX(var(--fish-facing-scale))}}@keyframes fishing-splash{0%{opacity:0;transform:translate(-50%,-50%) scale(.3);border-width:6px}25%{opacity:.95}to{opacity:0;transform:translate(-50%,-50%) scale(1.35);border-width:1px}}@keyframes fishing-pop-rise{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}22%{opacity:1;transform:translate(-50%,-78%) scale(1.12)}38%{transform:translate(-50%,-84%) scale(1)}to{opacity:0;transform:translate(-50%,-190%) scale(.92)}}@keyframes fishing-spark-fly{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--spark-x, 0px)),calc(-50% + var(--spark-y, 0px))) scale(.25)}}@keyframes fishing-stage-flash{0%{opacity:0}18%{opacity:.75}to{opacity:0}}@keyframes fishing-stage-shake{0%,to{transform:translate(0)}22%{transform:translate(-4px,2px)}48%{transform:translate(4px,-2px)}74%{transform:translate(-2px,1px)}}@keyframes fishing-hud-bump{0%{transform:scale(1)}38%{transform:scale(1.38);color:#fff6c2}to{transform:scale(1)}}@keyframes fishing-result-pop{0%{transform:translate(-50%) scale(.7)}55%{transform:translate(-50%) scale(1.12)}to{transform:translate(-50%) scale(1)}}@media(max-height:720px){.fishing-event-header{min-height:calc(46px + max(env(safe-area-inset-top),var(--tg-total-top-inset, 0px)))}.fishing-event-title{font-size:22px}.fishing-event-hud{padding-bottom:6px}.fishing-event-footer{padding-top:8px}.fishing-event-claim{min-height:44px;font-size:18px}}@media(max-width:520px){.fishing-event-dialog{--fishing-net-size: min(64vw, 38vh)}.fishing-event-header{padding-inline:54px}.fishing-event-hud{gap:6px;padding-inline:8px}.fishing-event-hud-item{gap:4px;padding-inline:8px;font-size:12px}.fishing-event-hud-item strong{font-size:15px}}@media(prefers-reduced-motion:reduce){.fishing-event-overlay,.fishing-event-dialog,.fishing-event-fish,.fishing-event-fly-fish,.fishing-event-net,.fishing-event-splash,.fishing-event-pop,.fishing-event-spark{animation-duration:.01ms!important;transition-duration:.01ms!important}}body.mobile-no-anim .fishing-event-test-fish{animation:none}.fishing-event-choose-prompt{position:absolute;left:50%;bottom:64px;z-index:11;width:max-content;max-width:90%;color:#fff;font:900 28px/1.15 Lilita One,Outfit,sans-serif;text-align:center;-webkit-text-stroke:1.5px #000;paint-order:stroke fill;text-shadow:0 2px 6px rgba(0,0,0,.85);transform:translate(-50%);pointer-events:none;animation:fishing-choose-blink .6s ease-in-out infinite alternate}.fishing-event-choose-prompt.hidden{display:none}@keyframes fishing-choose-blink{0%{opacity:1}to{opacity:.2}}@media(max-width:480px){.fishing-event-choose-prompt{font-size:22px;bottom:96px}}body.perf-no-sidebar-anim .fishing-event-test-fish{animation:none}
