#storm{width:68px;height:68px;font-size:0;background-color:transparent!important;background-position:center;background-repeat:no-repeat;background-size:contain;border:0!important;filter:drop-shadow(0 0 10px #5cf)}
.skill-spacer{display:block;width:68px;height:68px;visibility:hidden;pointer-events:none}
#storm{background-image:url(game-assets/laser-icon.png)!important}
.weapon-fx{position:fixed;z-index:12;pointer-events:none;left:50%;top:86%;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,#ffe65b 0 8%,#ffbd18 17%,#ff7900 36%,#ff4d0088 54%,transparent 72%);box-shadow:0 0 12px #ffb300,0 0 28px #ff6500aa;transform:translate(-50%,-50%);animation:weaponShot .34s ease-out forwards;will-change:left,top,width,height,opacity,transform}
.laser-fx{position:fixed;z-index:12;pointer-events:none;height:18px;border-radius:999px;background:linear-gradient(90deg,transparent 0%,#215dff44 4%,#6438d6bb 24%,#1abfe0b8 58%,#326df777 88%,transparent 100%);transform-origin:0 50%;clip-path:polygon(0 42%,5% 32%,100% 15%,100% 85%,5% 68%,0 58%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 92%,transparent 100%);animation:laserPulse .8s ease-out forwards;filter:drop-shadow(0 0 10px #1abfe0aa) drop-shadow(0 0 20px #5a38d688)}
.laser-particle-layer{position:fixed;z-index:14;inset:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen}
.laser-stream-particle{position:absolute;left:0;top:0;width:12px;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,#51dcff55 22%,#72eaffcc 62%,#346cff22);box-shadow:0 0 5px #42dfffaa,0 0 11px #275dff88;transform-origin:center;will-change:transform,opacity}
.laser-stream-particle:nth-child(3n){width:7px;height:1.5px;background:#7c9dff99;box-shadow:0 0 6px #5be7ffaa,0 0 12px #8b45ff77}
.laser-stream-particle:nth-child(3n+1){width:10px;background:linear-gradient(90deg,transparent,#45d8ff77,#8da4ffaa);box-shadow:0 0 6px #39dfff99,0 0 13px #463bff77}
.laser-muzzle-pulse,.laser-impact-pulse{position:fixed;z-index:15;pointer-events:none;border-radius:50%;mix-blend-mode:screen;will-change:left,top,transform}
.laser-muzzle-pulse{width:34px;height:34px;background:radial-gradient(circle,#4fe4ffcc 0 12%,#3b8cffaa 30%,#4134c966 52%,transparent 72%);box-shadow:0 0 18px #28cceebb,0 0 38px #254ddf88}
.laser-impact-pulse{width:54px;height:54px;background:radial-gradient(circle,#6fddeccc 0 10%,#9b54db99 24%,#247ea477 44%,transparent 70%);box-shadow:0 0 22px #31b9d6aa,0 0 44px #762fbb99;animation:laserImpactSpin .32s linear infinite}
@keyframes laserImpactSpin{to{filter:hue-rotate(35deg) brightness(1.25)}}
.purple-laser-fx{position:fixed;z-index:4;pointer-events:none;background-image:url(game-assets/purple-laser-sprite.png);background-repeat:no-repeat;background-size:600% 700%;mix-blend-mode:screen;filter:drop-shadow(0 0 10px #c26dffdd) drop-shadow(0 0 28px #741cffaa) brightness(1.28) contrast(1.08);opacity:0;transform-origin:100% 50%;will-change:left,top,width,height,transform,opacity,background-position;animation:purpleLaserSprite 1.05s ease-out forwards}
@keyframes purpleLaserSprite{0%{opacity:0;filter:drop-shadow(0 0 7px #d996ff) brightness(1.75) contrast(1.12)}5%,76%{opacity:1}100%{opacity:0;filter:drop-shadow(0 0 34px #8427ff) brightness(1.12) contrast(1.04)}}
#storm.laser-armed{filter:drop-shadow(0 0 22px #ff43ff) brightness(1.45);animation:armedPulse .65s infinite alternate}
@keyframes armedPulse{to{transform:scale(1.1)}}
@keyframes weaponShot{0%{opacity:.96;transform:translate(-50%,-50%) scale(1)}100%{left:var(--tx);top:var(--ty);width:24px;height:24px;opacity:.18;transform:translate(-50%,-50%) scale(.72)}}
@keyframes laserPulse{0%{opacity:0;filter:drop-shadow(0 0 8px #26bfff) brightness(2)}20%{opacity:1}70%{opacity:.95}100%{opacity:0;filter:drop-shadow(0 0 42px #26bfff) brightness(1.2)}}
.turret-model{position:fixed;z-index:5;left:50%;bottom:-110px;width:510px;height:510px;object-fit:contain;pointer-events:none;transform:translateX(-50%) rotate(var(--turret-angle,0deg));transform-origin:50% 68%;filter:drop-shadow(0 0 28px #ffd35a) drop-shadow(0 15px 24px #001);transition:transform .08s linear}
nav strong{display:none!important}
@media(max-width:700px){.turret-model{width:396px;height:396px;bottom:-90px}}
.ammo-hud{position:fixed;z-index:8;left:50%;bottom:18px;transform:translateX(-50%);padding:9px 18px;border:1px solid #ffe277;border-radius:18px;background:#071923dd;color:#ffe16a;font-weight:900;font-size:16px;letter-spacing:1px;box-shadow:0 0 18px #ffb52d66;pointer-events:none}
.earned-hud{position:fixed;z-index:8;left:50%;top:16px;width:min(420px,58vw);height:76px;padding:6px 28px 6px 82px;border:3px solid #42d6f2;border-radius:999px;background:linear-gradient(180deg,#143963e8,#072445f2 58%,#071a36f2);box-shadow:inset 0 0 0 2px #b8f6ff33,inset 0 -12px 25px #00102988,0 6px 18px #0008,0 0 18px #14c8ef55;pointer-events:none;display:flex;align-items:center;justify-content:center;transform:translateX(-50%)}
.earned-coin-icon{position:absolute;z-index:2;left:-12px;top:50%;width:84px;height:84px;border:4px solid #f7c833;border-radius:50%;background:url(game-assets/coin-spin-sheet.png) 0 0/600% 200% no-repeat;box-shadow:inset 0 0 8px #fff6a6,0 4px 9px #00152dcc,0 0 18px #ffcf3f99;transform:translateY(-50%);animation:earnedCoinGlow 1.2s ease-in-out infinite alternate}
.earned-gold-number{min-width:220px;height:58px;display:flex;align-items:center;justify-content:center;gap:0;filter:drop-shadow(0 3px 1px #311100) drop-shadow(0 0 7px #ffca2d);overflow:visible}
.gold-digit{display:block;flex:0 0 36px;width:36px;height:52px;background-image:url(game-assets/gold-digits.png);background-size:1000% 100%;background-repeat:no-repeat}
.gold-separator{display:block;flex:0 0 15px;width:15px;margin-top:3px;color:#ffcf39;font-family:Arial Black,Arial,sans-serif;font-size:38px;font-style:normal;line-height:42px;text-align:center;text-shadow:0 3px 0 #592000,0 0 7px #ffd957}
@keyframes earnedCoinGlow{to{filter:brightness(1.22);box-shadow:inset 0 0 13px #fff6a6,0 4px 9px #00152dcc,0 0 28px #ffcf3fcc}}
.earned-hud.counting{animation:earnedHudCounting .9s ease-out}
@keyframes earnedHudCounting{0%{transform:translateX(-50%) scale(1)}28%{transform:translateX(-50%) scale(1.07);filter:brightness(1.28)}100%{transform:translateX(-50%) scale(1)}}
.audio-toggle{position:fixed;z-index:25;right:22px;top:95px;width:66px;height:66px;min-width:0;padding:0;border:0;border-radius:18px;background:transparent;color:#fff;box-shadow:none;filter:drop-shadow(0 5px 11px #0009);transition:transform .16s ease,filter .16s ease}
.audio-toggle::before{content:'';position:absolute;left:8px;top:8px;width:50px;height:50px;border:3px solid #b7e9ff;border-radius:9px;background:linear-gradient(135deg,#70c8ff,#1766b9 52%,#063e83);box-shadow:inset 0 0 9px #d9f5ff99,0 0 13px #32a9ff88;transform:rotate(45deg)}
.audio-toggle-glyph{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);font-size:25px;line-height:1;text-shadow:0 2px 3px #003b72;pointer-events:none}
.audio-toggle::after{content:attr(data-state);position:absolute;right:-3px;bottom:-1px;min-width:27px;padding:2px 4px;border:1px solid #b9edff;border-radius:8px;background:#073664ee;color:#dffaff;font-size:8px;font-weight:1000;letter-spacing:.5px;text-align:center;box-shadow:0 2px 5px #0008}
.audio-toggle:hover{transform:scale(1.08);filter:drop-shadow(0 6px 15px #198fffaa)}
.audio-toggle.muted::before{content:'';left:0;top:0;width:66px;height:66px;border:0;border-radius:0;background:url(game-assets/audio-off.png) center/contain no-repeat;box-shadow:none;transform:none}
.audio-toggle.muted .audio-toggle-glyph{display:none}
.audio-toggle.muted::after{background:#1d2d45ee;color:#c6e6ff}
@media(max-width:700px){.earned-hud{top:12px;width:min(330px,78vw);height:62px;padding:5px 16px 5px 64px;border-width:2px}.earned-coin-icon{left:-8px;width:68px;height:68px;border-width:3px}.earned-gold-number{min-width:170px;height:48px}.gold-digit{flex-basis:29px;width:29px;height:42px}.gold-separator{flex-basis:12px;width:12px;font-size:31px;line-height:36px}}
@media(max-width:700px){.audio-toggle{right:8px;top:80px;width:58px;height:58px}.audio-toggle::before{left:7px;top:7px;width:44px;height:44px;font-size:21px}.audio-toggle.muted::before{left:0;top:0;width:58px;height:58px}}

#modal{background:radial-gradient(circle at 50% 28%,#7d1d1229,#020913f2 58%,#00050af8);backdrop-filter:blur(9px)}
#modal>div.reward-modal{position:relative;width:min(860px,calc(100% - 28px));max-height:calc(100vh - 22px);padding:18px 42px 24px;border:1px solid #ffba4055;border-radius:30px;background:linear-gradient(180deg,#151222e8,#07131be8 45%,#031018f0);box-shadow:inset 0 0 70px #ff8c1715,0 0 70px #000c;overflow:hidden}
#modal .reward-modal::before{content:'';position:absolute;inset:-40% -10% auto;height:72%;background:radial-gradient(ellipse,#ffb12b2d 0%,#ff5a1510 38%,transparent 70%);pointer-events:none}
#modal .reward-modal>#close{position:absolute;z-index:20;right:20px;top:15px;float:none;width:38px;height:38px;border:1px solid #ffcf7088;border-radius:50%;background:#2c1010aa;color:#ffe7a0;font-size:24px;line-height:1}
#modal .reward-modal>small{position:relative;z-index:8;display:block;color:#ffd76b;font-size:12px;font-weight:900;letter-spacing:5px;text-shadow:0 0 12px #ff8a22}
#modal .reward-modal h2{position:relative;z-index:8;margin:2px 0 8px;font-size:clamp(30px,5vw,52px);line-height:1;color:#ffd456;font-style:italic;letter-spacing:2px;-webkit-text-stroke:1px #a8330b;text-shadow:0 3px 0 #7c1908,0 0 18px #ff951f,0 0 38px #ff4b1644}
.reward-stage{position:relative;z-index:4;width:100%;height:225px;margin:0 auto -4px;overflow:visible;perspective:800px}
.reward-halo{position:absolute;left:50%;bottom:20px;width:400px;height:180px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,#fff27b88 0%,#ffb51f55 22%,#ff6b1725 48%,transparent 72%);filter:blur(12px);animation:rewardHaloPulse 1s ease-in-out infinite alternate}
.treasure-chest{position:absolute;z-index:6;left:50%;bottom:4px;width:246px;height:160px;transform:translateX(-50%);filter:drop-shadow(0 18px 18px #000c) drop-shadow(0 0 26px #ffb62a77)}
.chest-lid{position:absolute;z-index:5;left:13px;top:3px;width:220px;height:70px;border:7px solid #d99720;border-bottom-width:9px;border-radius:44px 44px 10px 10px;background:repeating-linear-gradient(90deg,#4c1e0b 0 34px,#6e2f10 35px 39px,#3a1608 40px 72px);box-shadow:inset 0 10px 15px #c66f2333,inset 0 -10px 10px #160600aa,0 0 0 2px #ffdb5c55;transform-origin:50% 100%;transform:translateY(-32px) rotateX(-22deg)}
.chest-lid::before,.chest-lid::after{content:'';position:absolute;top:-7px;bottom:-9px;width:15px;background:linear-gradient(90deg,#8f5514,#ffd762,#9c5b12);box-shadow:inset 0 0 4px #fff18a88}
.chest-lid::before{left:35px}.chest-lid::after{right:35px}
.chest-lid>i{position:absolute;left:50%;bottom:-13px;width:46px;height:34px;transform:translateX(-50%);border:5px solid #9c5b13;border-radius:8px 8px 14px 14px;background:linear-gradient(#ffe16c,#c87a17);box-shadow:0 0 12px #ffc938}
.chest-body{position:absolute;z-index:7;left:0;bottom:0;width:246px;height:103px;border:8px solid #b97617;border-radius:9px 9px 20px 20px;background:repeating-linear-gradient(90deg,#421607 0 42px,#6b2c0c 43px 47px,#321005 48px 82px);box-shadow:inset 0 9px 14px #d9772038,inset 0 -18px 20px #160500cc,0 0 0 2px #ffdb5c55}
.chest-body::before{content:'';position:absolute;left:-8px;right:-8px;top:14px;height:13px;background:linear-gradient(#ffe06b,#9c5911,#e9aa2b);box-shadow:0 38px 0 #a86716}
.chest-lock{position:absolute;z-index:4;left:50%;top:15px;width:48px;height:58px;transform:translateX(-50%);border:5px solid #9d5c15;border-radius:8px 8px 16px 16px;background:linear-gradient(135deg,#ffe96f,#b86612);box-shadow:0 0 16px #ffc52c}
.chest-lock::after{content:'';position:absolute;left:50%;top:16px;width:9px;height:17px;transform:translateX(-50%);border-radius:6px;background:#713408;box-shadow:0 0 4px #fff07a}
.chest-gold{position:absolute;z-index:6;left:24px;bottom:77px;width:198px;height:50px;border-radius:50%;background:radial-gradient(circle at 15% 55%,#fff58a 0 5px,#e9a51b 6px 11px,transparent 12px),radial-gradient(circle at 34% 36%,#ffe96c 0 6px,#cc7b0b 7px 13px,transparent 14px),radial-gradient(circle at 54% 58%,#fff27a 0 5px,#df8d0f 6px 12px,transparent 13px),radial-gradient(circle at 74% 32%,#ffe96c 0 6px,#c9700a 7px 13px,transparent 14px),radial-gradient(circle at 88% 63%,#fff18a 0 5px,#d9850f 6px 12px,transparent 13px),linear-gradient(transparent,#ffb32199);filter:drop-shadow(0 0 12px #ffd62d);animation:chestGoldShine .7s ease-in-out infinite alternate}
.reward-stage.bursting .chest-lid{animation:chestOpen .72s cubic-bezier(.2,.85,.25,1.2) both}
.reward-chest-coin{position:absolute;z-index:8;left:50%;bottom:72px;width:var(--size);height:var(--size);pointer-events:none;background:url(game-assets/coin-spin-sheet.png) 0 0/600% 200% no-repeat;filter:drop-shadow(0 0 7px #fff06a) drop-shadow(0 4px 4px #4b1600);opacity:0;animation:rewardCoinBurst 2s cubic-bezier(.13,.72,.22,1) var(--delay) both}
.reward-sparkle{position:absolute;z-index:9;left:50%;bottom:83px;width:7px;height:7px;border-radius:50%;background:#ffe96e;box-shadow:0 0 7px #fff59a,0 0 16px #ff9d1d;opacity:0;animation:rewardSparkle 1.45s ease-out var(--delay) both}
.reward-frame{position:relative;z-index:10;width:min(620px,88%);min-height:92px;margin:0 auto 10px;padding:9px 78px;display:flex;align-items:center;justify-content:center;gap:15px;border:4px solid #d79722;border-radius:16px;background:linear-gradient(180deg,#a91812,#e43917 48%,#8d100d);box-shadow:inset 0 0 0 2px #ffed8155,inset 0 -13px 22px #58080099,0 7px 24px #0009,0 0 26px #ff7a1d55;color:#ffe574}
.reward-frame::before,.reward-frame::after{content:'';position:absolute;top:13px;width:100px;height:62px;background:linear-gradient(135deg,#ffec72,#a96110 48%,#ffe66b);clip-path:polygon(0 50%,28% 0,100% 18%,72% 50%,100% 82%,28% 100%);filter:drop-shadow(0 3px 4px #350b00)}
.reward-frame::before{left:-72px}.reward-frame::after{right:-72px;transform:scaleX(-1)}
.reward-frame span,.reward-frame em{font-size:14px;font-weight:1000;font-style:normal;letter-spacing:2px;text-shadow:0 2px 2px #5b1400}
.reward-frame strong{min-width:190px;font-size:clamp(40px,6vw,66px);line-height:1;font-weight:1000;letter-spacing:2px;color:#ffe56b;-webkit-text-stroke:2px #7b2a03;text-shadow:0 4px 0 #6a1900,0 0 13px #fff07b,0 0 28px #ff9e1b;transform-origin:center}
.reward-frame strong.count-complete{animation:rewardCountComplete .7s cubic-bezier(.18,.8,.22,1)}
#modal .reward-modal>p{position:relative;z-index:10;margin:8px auto 12px;color:#ffe9b5;font-size:14px;font-weight:800;letter-spacing:.5px}
#modal .reward-modal>#get{position:relative;z-index:10;width:min(520px,90%);margin:10px auto 6px;padding:16px;border:2px solid #ffdf62;border-radius:15px;background:linear-gradient(180deg,#ffcf43,#ff721a);color:#591300;font-size:18px;text-shadow:0 1px #fff2a0;box-shadow:inset 0 0 15px #fff07866,0 7px 20px #0008,0 0 25px #ff8c2455}
#modal .reward-modal>#note{position:relative;z-index:10;display:block;color:#efbd65;font-size:11px;font-weight:800;letter-spacing:1px}
@keyframes chestOpen{0%{transform:translateY(10px) rotateX(45deg)}55%{transform:translateY(-42px) rotateX(-34deg)}100%{transform:translateY(-32px) rotateX(-22deg)}}
@keyframes chestGoldShine{to{filter:drop-shadow(0 0 22px #fff16d) brightness(1.28)}}
@keyframes rewardHaloPulse{to{transform:translateX(-50%) scale(1.12);opacity:.72}}
@keyframes rewardCoinBurst{0%{opacity:1;transform:translate(-50%,0) scale(.28) rotate(0)}12%{opacity:1}54%{opacity:1;transform:translate(calc(-50% + var(--mid-x)),var(--peak-y)) scale(1.05) rotate(var(--mid-spin))}100%{opacity:0;transform:translate(calc(-50% + var(--end-x)),var(--end-y)) scale(.72) rotate(var(--spin))}}
@keyframes rewardSparkle{0%{opacity:1;transform:translate(-50%,0) scale(.35)}25%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),var(--y)) scale(1.7)}}
@keyframes rewardCountComplete{0%{transform:scale(1)}35%{transform:scale(1.24);filter:brightness(1.55)}100%{transform:scale(1)}}
@media(max-width:700px){#modal>div.reward-modal{padding:13px 14px 18px;border-radius:20px}.reward-stage{height:185px;transform:scale(.82);margin:-8px auto -18px}.reward-frame{width:82%;min-height:72px;padding:7px 22px;gap:8px}.reward-frame::before,.reward-frame::after{width:58px;height:50px}.reward-frame::before{left:-42px}.reward-frame::after{right:-42px}.reward-frame span,.reward-frame em{font-size:9px;letter-spacing:1px}.reward-frame strong{min-width:110px;font-size:38px;-webkit-text-stroke:1px #7b2a03}#modal .reward-modal h2{font-size:29px}#modal .reward-modal>p{font-size:11px;margin:5px auto 7px}#modal .reward-modal>#get{padding:13px;font-size:14px}.reward-chest-coin{--size:34px}}

#minus,#plus,.skill-spacer,nav strong{display:none!important}
.ammo-hud{z-index:20;bottom:26px}
nav{z-index:22!important;left:calc(50% + 210px)!important;right:auto!important;bottom:18px!important;transform:translateX(-50%)!important;gap:0!important}
#storm{position:relative;z-index:23;width:82px;height:82px;flex:0 0 82px;background-size:contain!important;box-shadow:none!important}
@media(max-width:700px){.ammo-hud{bottom:18px;padding:8px 15px;font-size:14px}nav{left:calc(50% + 128px)!important;bottom:10px!important;transform:translateX(-50%) scale(.88)!important}#storm{width:76px;height:76px;flex-basis:76px}}
.damage-label{position:fixed;z-index:15;color:#ff765f;font-size:18px;font-weight:900;text-shadow:0 2px 4px #000;pointer-events:none;animation:damageUp .8s forwards}
@keyframes damageUp{to{opacity:0;transform:translateY(-45px)}}
#storm::after{content:attr(data-countdown);position:absolute;inset:auto 0 -9px;text-align:center;font-size:12px;font-weight:900;color:#fff;text-shadow:0 1px 4px #000}
#storm.laser-locked,#storm.laser-used{filter:grayscale(1) brightness(.45);opacity:.65;animation:none}
#storm.laser-active{filter:drop-shadow(0 0 24px #ff44ff) brightness(1.45);animation:armedPulse .5s infinite alternate}
header{display:none!important}
.logic-only{display:none!important}
#ocean{cursor:none}
#aim{position:fixed;z-index:18;width:188px;height:188px;border:0!important;border-radius:0;background:url(game-assets/normal-aim.png) center/contain no-repeat;color:transparent;font-size:0;box-shadow:none!important;pointer-events:none;opacity:0;transform:translate(-50%,-50%);filter:drop-shadow(0 0 12px #ffb516bb) drop-shadow(0 0 28px #ff7a1666);transition:width .14s ease,height .14s ease,opacity .14s ease,filter .14s ease;animation:normalAimIdle 4.2s linear infinite;will-change:left,top,transform,opacity}
#aim.visible{opacity:.88}
#aim.target-locked{width:224px;height:224px;opacity:1;filter:drop-shadow(0 0 18px #fff36f) drop-shadow(0 0 40px #ff8a18) brightness(1.2);animation:normalAimLocked .8s ease-in-out infinite alternate}
#aim.firing{animation:normalAimFire .25s ease-out both}
@keyframes normalAimIdle{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes normalAimLocked{from{transform:translate(-50%,-50%) scale(.96) rotate(-5deg)}to{transform:translate(-50%,-50%) scale(1.08) rotate(5deg)}}
@keyframes normalAimFire{0%{transform:translate(-50%,-50%) scale(1);opacity:1}38%{transform:translate(-50%,-50%) scale(.68);opacity:1}100%{transform:translate(-50%,-50%) scale(1.18);opacity:.35}}
.coin-fx{position:fixed;z-index:30;width:56px;height:56px;pointer-events:none;background:url(game-assets/coin-spin-sheet.png) 0 0/600% 200% no-repeat;filter:drop-shadow(0 2px 4px #210) drop-shadow(0 0 10px #ffc42e);will-change:left,top,transform,opacity}
.coin-reward{position:fixed;z-index:31;pointer-events:none;transform:translate(-50%,-50%);font-size:32px;font-weight:1000;font-style:italic;color:#fff5a4;-webkit-text-stroke:2px #a95b00;text-shadow:0 3px 0 #6d2400,0 0 12px #ffdf45,0 0 28px #ff9b1f;animation:coinReward 1.45s cubic-bezier(.16,.8,.25,1) forwards}
.boss-coin-reward{font-size:52px;color:#fffbd0;-webkit-text-stroke:3px #cf5700;text-shadow:0 4px 0 #781900,0 0 16px #fff15d,0 0 42px #ff6a00}
@keyframes coinReward{0%{opacity:0;transform:translate(-50%,-10%) scale(.25)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.35)}55%{transform:translate(-50%,-65%) scale(.95)}100%{opacity:0;transform:translate(-50%,-170%) scale(1.08)}}
.coin-count-pop{animation:coinCountPop .72s ease-out}
@keyframes coinCountPop{20%{transform:scale(1.35);color:#fff8a6;text-shadow:0 0 16px #ffd42d}100%{transform:scale(1)}}
.boss-warning{position:fixed;z-index:40;left:50%;top:26%;width:min(720px,88vw);height:150px;display:flex;align-items:center;justify-content:center;gap:20px;transform:translate(-50%,-50%) scale(.45);opacity:0;pointer-events:none;color:white;background:linear-gradient(90deg,transparent,#360000dd 13%,#7c1300ee 50%,#360000dd 87%,transparent);border-top:2px solid #ffb52c;border-bottom:2px solid #ff6b22;box-shadow:0 0 50px #ff250088,inset 0 0 42px #ff8a1f44;animation:bossWarning 3.1s cubic-bezier(.16,.75,.22,1) forwards;overflow:visible}
.boss-warning::before,.boss-warning::after{content:none;position:absolute;inset:10px 3%;border-top:1px solid #ffd76d88;border-bottom:1px solid #ffd76d55;transform:skewX(-24deg)}
.boss-warning img{position:relative;z-index:2;width:245px;max-height:142px;object-fit:contain;filter:drop-shadow(0 0 16px #ffc13b) drop-shadow(0 4px 8px #000);animation:bossFishCharge 1.1s ease-out both}
.boss-warning div{position:relative;z-index:2;display:grid;line-height:1.05;text-align:left;text-transform:uppercase;text-shadow:0 3px 5px #000}
.boss-warning small{font-size:18px;letter-spacing:8px;color:#ffd35a;font-weight:1000}
.boss-warning strong{font-size:42px;font-weight:1000;font-style:italic;color:#fff1b1;-webkit-text-stroke:1px #ff622d}
.boss-warning em{margin-top:7px;font-size:15px;font-style:normal;color:#ffe7c0;letter-spacing:1px}
.boss-warning-flare{position:absolute;width:280px;height:130px;border-radius:50%;background:radial-gradient(circle,#ffd97866 0%,#ff8a2728 42%,transparent 72%);filter:blur(16px);opacity:.7;animation:bossFlare .8s ease-in-out infinite alternate}
.boss-warning-leave{opacity:0!important;transition:opacity .45s ease}
@keyframes bossWarning{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}10%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}17%,78%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes bossFishCharge{0%{transform:translateX(-220px) scale(.3);opacity:0}65%{transform:translateX(18px) scale(1.12);opacity:1}100%{transform:translateX(0) scale(1)}}
@keyframes bossFlare{from{transform:scale(.82);opacity:.42}to{transform:scale(1.18);opacity:.78}}
@media(max-width:700px){.coin-fx{width:44px;height:44px}.boss-warning{height:118px;gap:8px}.boss-warning img{width:145px}.boss-warning strong{font-size:27px}.boss-warning small{font-size:12px;letter-spacing:5px}.boss-warning em{font-size:10px}.boss-coin-reward{font-size:40px}}

/* Simplified final screen with a colorful arcade treasure chest. */
#modal>div.reward-modal{width:min(760px,calc(100% - 28px));min-height:610px;max-height:calc(100vh - 20px);padding:18px 30px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #ffc34266;border-radius:32px;background:radial-gradient(circle at 50% 42%,#183d6155,#071622eb 58%,#020b12f5);box-shadow:inset 0 0 90px #20bbff0d,0 0 70px #000d;overflow:hidden}
#modal .reward-modal::before{inset:0;background:radial-gradient(ellipse at 50% 42%,#ffd54d2e 0%,#9c4dff16 34%,transparent 70%)}
#modal .reward-modal>#close{right:18px;top:16px}
#modal .reward-modal>small,#modal .reward-modal>h2,#modal .reward-modal>p,#modal .reward-frame,#modal #note{display:none!important}
.reward-stage{width:100%;height:455px;margin:0;flex:0 0 455px;overflow:visible;perspective:1000px}
.reward-halo{bottom:30px;width:560px;height:280px;background:radial-gradient(ellipse,#fff8a199 0%,#ffc72d66 18%,#a34cff33 43%,transparent 72%);filter:blur(16px)}
.treasure-chest{bottom:24px;width:380px;height:315px;filter:drop-shadow(0 24px 20px #000d) drop-shadow(0 0 32px #ffca3c99)}
.treasure-chest::before,.treasure-chest::after{content:'';position:absolute;z-index:8;top:165px;width:112px;height:66px;filter:drop-shadow(0 7px 5px #0008)}
.treasure-chest::before{left:-2px;border:5px solid #f0b12c;border-radius:48% 12% 18% 48%;background:linear-gradient(90deg,#ff3a37 0 17%,#f7f7ff 18% 38%,#8139d5 39% 63%,#ffb72a 64% 82%,#d9f6ff 83%);clip-path:polygon(0 35%,18% 20%,22% 2%,48% 19%,100% 33%,100% 67%,48% 81%,22% 98%,18% 80%,0 65%);transform:rotate(-15deg)}
.treasure-chest::after{right:-2px;border:6px solid #df9b21;border-radius:18px;background:linear-gradient(90deg,#d7e5ef 0 18%,#ff4b31 19% 42%,#334560 43% 55%,#101b2a 56% 100%);clip-path:polygon(0 25%,35% 25%,43% 8%,100% 8%,100% 78%,43% 78%,35% 58%,0 58%);transform:rotate(10deg)}
.chest-lid{left:30px;top:70px;width:320px;height:150px;border:11px solid #f2ac22;border-bottom-width:14px;border-radius:38px 38px 18px 18px;background:repeating-linear-gradient(105deg,#edf4f8 0 34px,#7a42c9 35px 58px,#d6dce6 59px 90px,#ffffff 91px 112px,#8f57d3 113px 136px);box-shadow:inset 0 10px 16px #fff9,inset 0 -18px 20px #55279d66,0 0 0 4px #fff2a04d;transform:translateY(-54px) rotateX(-18deg)}
.chest-lid::before,.chest-lid::after{top:auto;bottom:30px;width:62px;height:62px;border:6px solid #ffc337;box-shadow:inset 0 0 12px #fff9,0 0 12px #6ee9ff}
.chest-lid::before{content:'★';left:30px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#80ff49,#26b61a 58%,#097d1b);color:#fff473;font-size:30px;text-shadow:0 2px 0 #287500}
.chest-lid::after{right:28px;border-radius:14px;background:linear-gradient(135deg,#a6f8ff 0 18%,#2f8cff 19% 53%,#1954db 54% 76%,#132e83 77%);clip-path:polygon(25% 0,78% 8%,100% 45%,71% 100%,20% 86%,0 42%)}
.chest-lid>i{left:50%;bottom:-32px;width:76px;height:76px;border:8px solid #f6b326;border-radius:50%;background:radial-gradient(circle at 62% 34%,#fff6aa 0 8%,#ff47c7 9% 21%,#4fc9ff 22% 51%,#174dc8 52% 69%,#ffbe22 70%);box-shadow:inset 0 0 13px #fff8,0 0 18px #ffc834}
.chest-body{left:34px;bottom:18px;width:312px;height:150px;border:10px solid #eda51e;border-radius:16px 16px 36px 36px;background:repeating-linear-gradient(100deg,#eef4f7 0 34px,#773fbd 35px 58px,#d7dce6 59px 86px,#fff 87px 109px,#8c54cc 110px 133px);box-shadow:inset 0 10px 18px #fff9,inset 0 -22px 24px #48206f77,0 0 0 4px #fff0a04d}
.chest-body::before{left:52px;right:52px;top:8px;height:104px;border:8px solid #ffbd2c;border-radius:10px;background:linear-gradient(150deg,#fff6b3 0 12%,#ffd842 13% 36%,#ff9c22 66%,#d9671b 100%);box-shadow:inset 0 7px 10px #fff7,0 10px 0 #8b3d4d}
.chest-lock{left:50%;top:45px;width:86px;height:82px;border:7px solid #f8bd2d;border-radius:18px;background:linear-gradient(135deg,#ffd7fb 0 17%,#ff54da 18% 43%,#cb29be 44% 68%,#70269e 69%);clip-path:polygon(50% 0,92% 25%,100% 67%,69% 100%,26% 92%,0 55%,13% 20%);box-shadow:inset 0 0 16px #fff9,0 0 18px #ff57e4}
.chest-lock::after{left:19px;top:10px;width:29px;height:45px;border-radius:0;background:linear-gradient(135deg,#fff9 0 34%,transparent 35%);box-shadow:none;transform:rotate(-8deg)}
.chest-gold{left:64px;bottom:146px;width:252px;height:86px;background:radial-gradient(circle at 8% 64%,#fff58a 0 8px,#e99f17 9px 17px,transparent 18px),radial-gradient(circle at 22% 42%,#fff285 0 9px,#d8890d 10px 19px,transparent 20px),radial-gradient(circle at 38% 63%,#fff58a 0 8px,#e99f17 9px 17px,transparent 18px),radial-gradient(circle at 53% 37%,#fff285 0 10px,#d8890d 11px 21px,transparent 22px),radial-gradient(circle at 69% 62%,#fff58a 0 9px,#e99f17 10px 19px,transparent 20px),radial-gradient(circle at 85% 39%,#fff285 0 9px,#d8890d 10px 19px,transparent 20px),linear-gradient(transparent,#ffb321bb);filter:drop-shadow(0 0 15px #ffd62d);animation:chestGoldShine .55s ease-in-out infinite alternate}
.reward-stage.bursting .chest-lid{animation:colorChestOpen .78s cubic-bezier(.2,.85,.25,1.2) both}
.reward-chest-coin{bottom:190px;animation-duration:2.45s}
.reward-sparkle{bottom:205px;width:9px;height:9px}
#modal #get{position:relative;z-index:15;width:min(590px,90%);min-height:92px;margin:0 auto 8px;padding:12px 28px;display:flex;align-items:center;justify-content:center;gap:20px;border:3px solid #fff071;border-radius:24px;background:linear-gradient(180deg,#ffd75b 0%,#ffad2f 44%,#ff7f20 100%);box-shadow:inset 0 4px 0 #fff8b6,0 8px 0 #9f3f09,0 14px 28px #0009,0 0 22px #ffbd3866;color:#5a2108;font-family:'Arial Black',Arial,sans-serif;font-size:clamp(20px,3vw,28px);font-weight:1000;line-height:1;text-shadow:0 1px 0 #fff3a1;transform:none}
#modal #get:hover{filter:brightness(1.08);transform:translateY(-2px)}
.download-icon{position:relative;display:block;flex:0 0 50px;width:50px;height:50px;border:4px solid #622509;border-radius:50%;background:#fff1a8;box-shadow:inset 0 -5px 0 #ffc348,0 3px 0 #9b400d}
.download-icon::before{content:'';position:absolute;left:50%;top:8px;width:9px;height:23px;border-radius:5px;background:#6a2709;transform:translateX(-50%)}
.download-icon::after{content:'';position:absolute;left:50%;top:22px;width:22px;height:22px;border-right:8px solid #6a2709;border-bottom:8px solid #6a2709;transform:translateX(-50%) rotate(45deg)}
@keyframes colorChestOpen{0%{transform:translateY(20px) rotateX(44deg)}55%{transform:translateY(-68px) rotateX(-27deg)}100%{transform:translateY(-54px) rotateX(-18deg)}}
@media(max-width:700px){#modal>div.reward-modal{min-height:560px;padding:14px 10px 22px}.reward-stage{height:420px;flex-basis:420px;transform:scale(.82);transform-origin:50% 100%}#modal #get{width:92%;min-height:76px;gap:12px;font-size:18px}.download-icon{flex-basis:42px;width:42px;height:42px}}

/* Ornate reward chest based on the opened gold-and-mahogany reference. */
.treasure-chest{width:400px;height:330px;filter:drop-shadow(0 25px 22px #000d) drop-shadow(0 0 38px #ffbd2a99)}
.treasure-chest::before,.treasure-chest::after{display:none!important}
.chest-lid{left:34px;top:76px;width:332px;height:158px;border:12px solid #eaa629;border-bottom-width:15px;border-radius:52px 52px 18px 18px;background:radial-gradient(circle at 50% 124%,#ffdc53 0 17%,transparent 18%),repeating-radial-gradient(ellipse at 50% 120%,transparent 0 20px,#d6941c 21px 26px,transparent 27px 43px),linear-gradient(110deg,#5a1f17 0 17%,#8b3823 18% 34%,#561b16 35% 51%,#9d4427 52% 69%,#572018 70%);box-shadow:inset 0 10px 16px #ffdb7955,inset 0 -20px 20px #2c090bbb,0 0 0 5px #fff3a030;transform:translateY(-56px) rotateX(-18deg)}
.chest-lid::before,.chest-lid::after{content:'';bottom:19px;width:43px;height:75px;border:5px solid #78808c;border-radius:9px;background:linear-gradient(90deg,#e8edf2,#8f98a4 45%,#f6f7fa 66%,#757e89);box-shadow:inset 0 0 7px #fff,0 0 0 3px #d99a24}
.chest-lid::before{left:21px}.chest-lid::after{right:21px;clip-path:none}
.chest-lid>i{left:50%;bottom:-35px;width:82px;height:86px;border:9px solid #e5a323;border-radius:24px;background:linear-gradient(135deg,#ffbdff 0 14%,#bd31dd 15% 42%,#7125a9 43% 72%,#3e1d67 73%);clip-path:polygon(50% 0,91% 21%,100% 67%,68% 100%,27% 92%,0 58%,12% 19%);box-shadow:inset 0 0 17px #fff9,0 0 20px #ffcb3d}
.chest-body{left:34px;bottom:18px;width:332px;height:158px;border:11px solid #e5a12a;border-radius:15px 15px 30px 30px;background:radial-gradient(circle at 15% 30%,transparent 0 18px,#d18e22 19px 24px,transparent 25px),radial-gradient(circle at 83% 66%,transparent 0 20px,#c9851d 21px 26px,transparent 27px),linear-gradient(100deg,#5e1f17 0 18%,#853523 19% 36%,#551a15 37% 54%,#8e3b25 55% 72%,#5a1c15 73%);box-shadow:inset 0 11px 17px #ffcf6d38,inset 0 -23px 25px #270809cc,0 0 0 5px #fff1a02e}
.chest-body::before{left:48px;right:48px;top:15px;height:98px;border:8px solid #d99a24;border-radius:12px;background:repeating-radial-gradient(circle at 50% 55%,transparent 0 16px,#e1a226 17px 22px,transparent 23px 34px),linear-gradient(145deg,#7e2d20,#4a1613 65%);box-shadow:inset 0 0 12px #ffcc5d55,0 9px 0 #522017}
.chest-lock{left:50%;top:42px;width:76px;height:88px;border:8px solid #e8a825;border-radius:20px;background:linear-gradient(150deg,#ffcc69,#d47d16 65%,#8f450b);clip-path:none;box-shadow:inset 0 0 11px #fff19a88,0 0 15px #ffbd2f}
.chest-lock::before{content:'';position:absolute;left:50%;top:17px;width:22px;height:22px;border-radius:50%;background:#2d1308;transform:translateX(-50%);box-shadow:0 20px 0 -5px #2d1308}
.chest-lock::after{display:none}
.chest-gold{left:60px;bottom:150px;width:280px;height:98px;background:radial-gradient(circle at 8% 64%,#fff58a 0 9px,#e99f17 10px 20px,transparent 21px),radial-gradient(circle at 22% 39%,#fff285 0 11px,#d8890d 12px 23px,transparent 24px),radial-gradient(circle at 38% 68%,#fff58a 0 9px,#e99f17 10px 20px,transparent 21px),radial-gradient(circle at 53% 34%,#fff285 0 12px,#d8890d 13px 25px,transparent 26px),radial-gradient(circle at 69% 66%,#fff58a 0 10px,#e99f17 11px 22px,transparent 23px),radial-gradient(circle at 85% 38%,#fff285 0 11px,#d8890d 12px 23px,transparent 24px),linear-gradient(transparent,#ffad20cc);filter:drop-shadow(0 0 20px #ffd62d) brightness(1.12)}
.reward-stage.bursting .chest-lid{animation:ornateChestOpen .82s cubic-bezier(.2,.85,.25,1.2) both}
@keyframes ornateChestOpen{0%{transform:translateY(22px) rotateX(45deg)}55%{transform:translateY(-72px) rotateX(-27deg)}100%{transform:translateY(-56px) rotateX(-18deg)}}

#reward-chest-3d{position:absolute;z-index:7;left:50%;top:0;width:min(700px,98%);height:440px;display:block;transform:translateX(-50%);pointer-events:none;opacity:0;filter:drop-shadow(0 24px 22px #000c) drop-shadow(0 0 30px #ffb32b66);transition:opacity .45s ease}
#reward-chest-3d.loaded{opacity:1}
#reward-chest-3d.load-error{opacity:.18}
#modal #get{width:min(740px,94%);min-height:126px;padding:18px 34px;gap:24px;font-size:clamp(40px,5.2vw,56px);letter-spacing:-1px;white-space:nowrap}
#modal #get span{display:block;line-height:1}
#modal #get .download-icon{flex:0 0 76px;width:76px;height:76px;border-width:6px}
#modal #get .download-icon::before{top:12px;width:12px;height:34px}
#modal #get .download-icon::after{top:34px;width:31px;height:31px;border-right-width:11px;border-bottom-width:11px}
@media(max-width:700px){#reward-chest-3d{width:720px;max-width:120%;height:420px}#modal #get{min-height:92px;padding:12px 18px;gap:12px;font-size:clamp(25px,7vw,34px);letter-spacing:-.5px}#modal #get .download-icon{flex-basis:54px;width:54px;height:54px;border-width:4px}}

.final-coin-total{position:relative;z-index:16;width:min(470px,78%);height:88px;margin:-96px auto 20px;padding:8px 28px 8px 92px;display:flex;align-items:center;justify-content:center;border:3px solid #37dfff;border-radius:48px;background:linear-gradient(180deg,#0b4778 0%,#061b43 48%,#020d25 100%);box-shadow:inset 0 0 18px #48dcff55,inset 0 4px 0 #9af5ff38,0 6px 0 #00132c,0 12px 26px #000b,0 0 22px #25dfff55}
.final-coin-total::before{content:'';position:absolute;inset:4px;border:1px solid #82f4ff66;border-radius:42px;pointer-events:none}
.final-coin-total>i{position:absolute;z-index:2;left:-24px;top:50%;width:104px;height:104px;border:5px solid #ffd42d;border-radius:50%;background:url(game-assets/coin-spin-sheet.png) 0 0/600% 200% no-repeat;box-shadow:inset 0 0 10px #fff7aa,0 5px 8px #00152dcc,0 0 24px #ffcf3fcc;transform:translateY(-50%);animation:earnedCoinGlow .75s ease-in-out infinite alternate}
.final-coin-total>strong{position:relative;z-index:2;display:block;width:100%;color:#ffd84c;font-family:'Arial Black',Arial,sans-serif;font-size:clamp(42px,5vw,60px);font-weight:1000;line-height:1;text-align:center;letter-spacing:2px;-webkit-text-stroke:2px #8a3d00;text-shadow:0 2px 0 #fff3a0,0 5px 0 #d98200,0 8px 10px #260e00,0 0 15px #ffc82d}
.final-coin-total>strong.count-complete{animation:finalCoinTotalPop .75s ease-out}
.final-coin-total>span{position:absolute;z-index:3;left:92px;right:24px;top:7px;color:#e9fbff;font-family:'Arial Black',Arial,sans-serif;font-size:15px;font-weight:1000;letter-spacing:2px;text-align:center;text-shadow:0 2px 0 #06385a,0 0 8px #63e8ff}
.final-coin-total>em{position:absolute;z-index:3;right:24px;bottom:10px;color:#ffec82;font-family:'Arial Black',Arial,sans-serif;font-size:15px;font-style:normal;font-weight:1000;letter-spacing:2px;text-shadow:0 2px 0 #763300}
.final-coin-total>strong{padding-top:18px;padding-right:58px}
@keyframes finalCoinTotalPop{0%{transform:scale(.92)}35%{transform:scale(1.18);filter:brightness(1.45)}100%{transform:scale(1)}}
@media(max-width:700px){.final-coin-total{width:76%;height:70px;margin:-82px auto 14px;padding-left:70px}.final-coin-total>i{left:-17px;width:82px;height:82px;border-width:4px}.final-coin-total>strong{font-size:clamp(31px,9vw,44px);-webkit-text-stroke-width:1.5px}}
@media(max-width:700px){.final-coin-total>span{left:68px;right:12px;top:5px;font-size:10px;letter-spacing:1px}.final-coin-total>em{right:12px;bottom:7px;font-size:10px}.final-coin-total>strong{padding-top:14px;padding-right:38px}}
