@import url("gremlin-island-v682.css?v=686");
/* Grim & Goldie Studios — authoritative Gremlin Island presentation v774 */
:root{--ggi-world-w:2800px;--ggi-world-h:2240px;--ggi-night:0}
.gg-island-world-v682{width:var(--ggi-world-w)!important;height:var(--ggi-world-h)!important;background:#0d3b52!important}
.gg-island-world-v682 #ggIslandCanvasV682{z-index:1;width:var(--ggi-world-w)!important;height:var(--ggi-world-h)!important}
.gg-island-water-motion-v686{z-index:0!important;inset:0!important;opacity:.84!important;mask:none!important;-webkit-mask:none!important;background-color:#0f465c;background-image:radial-gradient(ellipse 34px 10px at center,transparent 56%,rgba(145,232,238,.34) 60%,transparent 68%),linear-gradient(120deg,rgba(19,98,119,.42),rgba(10,53,75,.38));background-size:86px 52px,100% 100%;animation:ggi-ocean-v687 10s linear infinite!important}
@keyframes ggi-ocean-v687{to{background-position:172px 52px,0 0}}
.gg-island-night-v687{position:absolute;z-index:8500;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 9%,rgba(200,215,255,.13),transparent 16%),linear-gradient(rgba(10,13,52,.68),rgba(3,14,38,.72));opacity:var(--ggi-night);mix-blend-mode:normal;transition:opacity 4s linear}
.gg-island-scenery-v687,.gg-island-collectibles-v687,.gg-island-npcs-v687,.gg-island-splashes-v687{position:absolute;z-index:auto;inset:0;pointer-events:none}
.gg-island-splashes-v687{z-index:3200}.gg-island-splash-v687{position:absolute;width:34px;height:17px;border:3px solid rgba(220,252,255,.92);border-top-color:transparent;border-radius:50%;opacity:0;transform-origin:center;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(37,134,157,.55))}.gg-island-splash-v687:before,.gg-island-splash-v687:after{content:"";position:absolute;bottom:5px;width:6px;height:10px;border-radius:70% 40% 60% 45%;background:#dffcff;box-shadow:0 0 0 2px rgba(100,210,229,.28)}.gg-island-splash-v687:before{left:2px;rotate:-24deg}.gg-island-splash-v687:after{right:2px;rotate:24deg}.gg-island-splash-v687.show{animation:ggi-splash-v687 .65s ease-out forwards}.gg-island-splash-v687.show:before{animation:ggi-splash-drop-left-v709 .48s ease-out forwards}.gg-island-splash-v687.show:after{animation:ggi-splash-drop-right-v709 .48s ease-out forwards}@keyframes ggi-splash-v687{0%{opacity:.96;scale:.35}100%{opacity:0;scale:1.65;translate:0 -6px}}@keyframes ggi-splash-drop-left-v709{to{translate:-10px -17px;scale:.35;opacity:0}}@keyframes ggi-splash-drop-right-v709{to{translate:10px -17px;scale:.35;opacity:0}}
.gg-island-footprints-v686{z-index:16}.gg-island-footprint-v686{background:rgba(75,51,24,.45);box-shadow:inset 0 2px 2px rgba(43,30,17,.28)}
.gg-island-character-v682{z-index:3000}.gg-island-avatar-v682{width:110px;height:140px}.gg-island-familiar-v682{width:60px!important;height:67px!important}.gg-island-familiar-direction-v685{transform:none!important}.gg-island-familiar-v682[data-direction="back"] .gg-island-familiar-direction-v685{transform:rotateY(180deg)!important}.gg-island-familiar-v682:is([data-direction="left"],[data-direction="right"]) .gg-island-familiar-direction-v685{transform:none!important}.gg-island-familiar-v682:is([data-direction="left"],[data-direction="right"]) :is(.left,.right,[class~="left"],[class~="right"]){opacity:1!important}

/* Direction cleanup: both eyes stay visible on side views; front-only face art is removed on back views. */
.gg-island-avatar-v682[data-direction="left"] .gg-island-avatar-direction-v685{transform:scaleX(.91) translateX(-2px)!important}
.gg-island-avatar-v682[data-direction="right"] .gg-island-avatar-direction-v685{transform:scaleX(-.91) translateX(-2px)!important}
.gg-island-avatar-v682:is([data-direction="left"],[data-direction="right"]) .gg-island-avatar-art-v682 :is(#eyesWhite,#eyes)>*{display:inline!important;visibility:visible!important;opacity:1!important}
.gg-island-avatar-v682:is([data-direction="left"],[data-direction="right"]) .gg-island-avatar-art-v682 :is(#eyesWhite,#eyes,#brows,#nose,#lips,#mouthAccessory,#facialHair,#eyeAccessory,#lashAccessory,#beakAccessory){clip-path:none!important}
.gg-island-avatar-v682:is([data-direction="left"],[data-direction="right"]) .gg-island-avatar-art-v682 :is(#earLayer,#earAccessory){clip-path:inset(0 50% 0 0)!important;overflow:visible!important}
.gg-island-avatar-v682:is([data-direction="left"],[data-direction="right"]) .gg-island-avatar-art-v682 :is(.gg-v593-trunk-anchor,.gg-v590-elephant-anchor,.gg-v596-trunk-anchor,.gg-v593-trunk-hit,.gg-v596-trunk-hit,.gg-v593-trunk-motion,.gg-v596-trunk-motion){clip-path:none!important;overflow:visible!important}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 :is([id*="mouth" i],[class*="mouth" i],[id*="lip" i],[class*="lip" i],[id*="tongue" i],[class*="tongue" i],[id*="teeth" i],[class*="teeth" i],[id*="eye" i],[class*="eye" i],[id*="nose" i],[class*="nose" i],[id*="beard" i],[class*="beard" i],[id*="lash" i],[class*="lash" i],[id*="brow" i],[class*="brow" i],.ggi-island-front-only-v687){display:none!important;visibility:hidden!important}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 #ggiIslandBackHeadV687,.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 #ggiIslandBackWardrobeV687,.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 #ggiIslandBackHandsV687{display:inline!important;visibility:visible!important}
.gg-island-avatar-art-v682 :is(#ggiIslandBackHeadV687,#ggiIslandBackWardrobeV687,#ggiIslandBackHandsV687){display:none}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 :is(#shirtLayer,#wardrobeExtraLayer,#capeFrontLayerV141,.ggi-island-hands-v687,.ggi-island-front-only-v687){display:none!important;visibility:hidden!important}
.gg-island-avatar-art-v682 .ggi-island-sleeve-v687{display:none!important}

/* Landmarks use world-coordinate variables and one y-based depth authority. */
.gg-island-world-v682 .gg-island-landmark-v682{left:var(--x)!important;top:var(--y)!important;z-index:var(--depth,3000)!important;touch-action:manipulation}
.gg-island-landmark-v682.grim{width:178px;height:132px;background:linear-gradient(145deg,#393342,#19171f)}
.gg-island-landmark-v682.goldie{width:184px;height:136px;background:linear-gradient(145deg,#e6c765,#9a7124)}
.gg-island-landmark-v682.home{width:210px!important;height:145px!important;border-radius:48% 48% 22% 22%!important;background:linear-gradient(145deg,#858a91,#3d4147)!important;color:#f5e5a7!important;border-color:#24262b!important}
.gg-island-landmark-v682.home:before{left:16px!important;right:16px!important;top:-74px!important;height:94px!important;background:linear-gradient(140deg,#403c43,#17171b)!important;clip-path:polygon(8% 73%,25% 42%,42% 50%,54% 4%,70% 47%,91% 60%,100% 100%,0 100%)!important;border-bottom:7px solid #16161b!important}
.gg-island-landmark-v682.home:after{content:"";position:absolute;left:77px;bottom:0;width:54px;height:72px;border-radius:50% 50% 5px 5px;background:#5b371f;border:5px solid #241a15;box-shadow:-55px -28px 0 -12px #e3ba4f,55px -28px 0 -12px #e3ba4f}
.gg-island-landmark-v682.home>*{position:relative;z-index:2}
.gg-island-landmark-v682.home[data-home-style="grim"]{background:linear-gradient(145deg,#4b4352,#1a171f)!important;color:#eee6f3!important}.gg-island-landmark-v682.home[data-home-style="grim"]:before{background:linear-gradient(140deg,#261f2c,#0d0c10)!important}
.gg-island-landmark-v682.home[data-home-style="goldie"]{background:linear-gradient(145deg,#ead17a,#946b22)!important;color:#201707!important}.gg-island-landmark-v682.home[data-home-style="goldie"]:before{background:linear-gradient(140deg,#9e7728,#45320f)!important}
.gg-island-landmark-v682.home[data-home-style="gremlin"]{background:linear-gradient(145deg,#82a968,#3f603a)!important;color:#101b0d!important}.gg-island-landmark-v682.home[data-home-style="gremlin"]:before{background:linear-gradient(140deg,#4c6c43,#243824)!important}

.ggi-object-v687{position:absolute;left:var(--x);top:var(--y);z-index:var(--depth);transform:translate(-50%,-100%);pointer-events:none;transform-origin:50% 100%;filter:drop-shadow(0 10px 5px rgba(0,0,0,.34))}
.ggi-object-v687 button,.ggi-object-v687[role="button"],.ggi-object-v687:is(button,[role="button"]){pointer-events:auto}
.ggi-palm-v687{width:130px;height:220px}.ggi-palm-v687 .trunk{position:absolute;left:55px;bottom:0;width:28px;height:160px;border:5px solid #302216;border-radius:45% 48% 24% 20%;background:repeating-linear-gradient(168deg,#89623b 0 14px,#5e4229 15px 22px);transform:rotate(var(--lean,0deg));transform-origin:50% 100%}.ggi-palm-v687 .fronds{position:absolute;left:7px;top:10px;width:120px;height:95px;animation:ggi-palm-sway-v687 3.7s ease-in-out infinite alternate;transform-origin:55% 65%}.ggi-palm-v687 .fronds i{position:absolute;left:53px;top:43px;width:70px;height:18px;border-radius:100% 10%;background:#253d31;border:3px solid #14261e;transform-origin:left center;rotate:calc(var(--i)*52deg)}.ggi-palm-v687 .skulls{position:absolute;left:48px;top:67px;display:flex;gap:2px}.ggi-palm-v687 .skulls i{position:relative;width:22px;height:19px;border:2px solid #34323a;border-radius:48% 48% 38% 38%;background:#d6d0c2}.ggi-palm-v687 .skulls i:before{content:"••";position:absolute;left:4px;top:1px;color:#34323a;font:900 10px monospace}.ggi-palm-v687 .skulls i:after{content:"";position:absolute;left:7px;bottom:-5px;width:8px;height:7px;background:#d6d0c2;border:2px solid #34323a;border-top:0}@keyframes ggi-palm-sway-v687{to{transform:rotate(3deg)}}
.ggi-umbrella-v687{width:190px;height:174px}.ggi-umbrella-v687 .pole{position:absolute;left:91px;bottom:0;width:8px;height:116px;border-radius:5px;background:linear-gradient(90deg,#282a30,#c6a543,#3b2e13)}.ggi-umbrella-v687 .canopy{position:absolute;left:0;top:0;width:190px;height:95px;border:5px solid #29242e;border-radius:95px 95px 22px 22px;overflow:hidden;background:conic-gradient(from 270deg at 50% 100%,#1b1a20 0 12.5%,#8051a5 12.5% 25%,#d0a73d 25% 37.5%,#1b1a20 37.5% 50%,#8051a5 50% 62.5%,#d0a73d 62.5% 75%,#1b1a20 75% 87.5%,#8051a5 87.5%)}.ggi-umbrella-v687 .canopy:after{content:"★";position:absolute;left:77px;top:20px;color:#f2d77a;font-size:34px;text-shadow:0 2px #34270d}
.ggi-sandcastle-v687{width:128px;height:90px}.ggi-sandcastle-v687 .base{position:absolute;inset:32px 0 0;border:4px solid #806b3e;border-radius:10px 10px 18px 18px;background:#d7c27e}.ggi-sandcastle-v687 .tower{position:absolute;bottom:20px;width:38px;height:66px;border:4px solid #806b3e;background:#d8c47f}.ggi-sandcastle-v687 .tower:before{content:"";position:absolute;left:-4px;right:-4px;top:-14px;height:18px;background:linear-gradient(90deg,#d8c47f 0 22%,transparent 22% 38%,#d8c47f 38% 62%,transparent 62% 78%,#d8c47f 78%);border-bottom:4px solid #806b3e}.ggi-sandcastle-v687 .tower.a{left:9px}.ggi-sandcastle-v687 .tower.b{right:9px}.ggi-sandcastle-v687 .door{position:absolute;left:51px;bottom:0;width:27px;height:34px;border-radius:50% 50% 0 0;background:#7e693f}
.ggi-grass-v687{width:128px;height:80px;filter:none}.ggi-grass-v687 .grass-motion{position:absolute;inset:0;transform-origin:50% 100%}.ggi-grass-v687.rustle .grass-motion{animation:ggi-grass-rustle-v687 .42s ease-in-out 2 alternate}.ggi-grass-v687 i{position:absolute;bottom:0;left:calc(var(--i)*12px + 8px);width:9px;height:calc(38px + var(--h)*4px);border-radius:100% 0;background:linear-gradient(#668056,#314d35);border-left:2px solid #253e2c;transform-origin:50% 100%;rotate:calc(-18deg + var(--i)*3deg)}@keyframes ggi-grass-rustle-v687{to{transform:skewX(8deg) rotate(2deg)}}

.ggi-statue-v687{width:150px;height:188px}.ggi-statue-v687 svg{width:100%;height:100%;overflow:visible}.ggi-statue-v687 .moss{position:absolute;left:25px;top:50px;width:26px;height:70px;border-radius:100% 20%;background:#4b6745;opacity:.65;rotate:18deg}
.ggi-lighthouse-v687{width:190px;height:300px}.ggi-lighthouse-v687 .tower{position:absolute;left:43px;bottom:0;width:104px;height:235px;clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);background:repeating-linear-gradient(#d7d2c7 0 37px,#343640 38px 71px);border:6px solid #292a31}.ggi-lighthouse-v687 .door{position:absolute;left:76px;bottom:0;width:42px;height:62px;border:5px solid #242229;border-radius:50% 50% 0 0;background:#5f3a24}.ggi-lighthouse-v687 .lantern{position:absolute;left:44px;top:18px;width:102px;height:72px;border:7px solid #26272d;border-radius:14px;background:rgba(250,205,74,.8);box-shadow:0 0 30px #e7bd45}.ggi-lighthouse-v687 .roof{position:absolute;left:26px;top:0;width:138px;height:35px;clip-path:polygon(50% 0,100% 100%,0 100%);background:#2b2731}.ggi-lighthouse-v687 .beam{position:absolute;left:94px;top:48px;width:250px;height:58px;clip-path:polygon(0 42%,100% 0,100% 100%,0 58%);background:linear-gradient(90deg,rgba(255,230,139,.7),transparent);transform-origin:0 50%;animation:ggi-beacon-v687 7s linear infinite;opacity:calc(.25 + var(--ggi-night)*.65)}@keyframes ggi-beacon-v687{to{transform:rotate(360deg)}}
.ggi-lighthouse-v709{width:252px;height:378px;padding:0;border:0;background:transparent;appearance:none;-webkit-appearance:none;overflow:visible;filter:drop-shadow(0 13px 7px rgba(0,0,0,.4))}.ggi-lighthouse-v709:after{content:"";position:absolute;z-index:0;left:39px;right:39px;bottom:-7px;height:32px;border-radius:50%;background:rgba(15,25,31,.3);filter:blur(5px)}.ggi-lighthouse-sprite-v709{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%;pointer-events:none;user-select:none;-webkit-user-drag:none}.ggi-lighthouse-v709 .beam{z-index:1;left:126px;top:80px;width:370px;height:76px;background:linear-gradient(90deg,rgba(255,236,150,.78),rgba(255,225,112,.25) 50%,transparent);filter:blur(.5px);opacity:calc(.2 + var(--ggi-night)*.78)}.ggi-lighthouse-glow-v709{position:absolute;z-index:3;left:70px;top:67px;width:112px;height:87px;border-radius:50%;background:radial-gradient(circle,rgba(255,250,190,.75),rgba(255,194,57,.24) 47%,transparent 72%);mix-blend-mode:screen;opacity:calc(.25 + var(--ggi-night)*.75);animation:ggi-lighthouse-breathe-v709 2.4s ease-in-out infinite alternate;pointer-events:none}@keyframes ggi-lighthouse-breathe-v709{to{scale:1.08;filter:brightness(1.18)}}
.ggi-ship-v687{width:310px;height:245px;padding:0;border:0;background:transparent;color:#f5e7b2;text-align:center}.ggi-ship-v687 .hull{position:absolute;left:15px;right:15px;bottom:0;height:110px;clip-path:polygon(0 0,100% 12%,82% 92%,48% 100%,16% 82%);background:repeating-linear-gradient(8deg,#3c281e 0 17px,#6b4229 18px 30px);border:6px solid #201817}.ggi-ship-v687 .mast{position:absolute;left:151px;top:9px;width:10px;height:157px;background:#281d18}.ggi-ship-v687 .sail{position:absolute;left:161px;top:24px;width:104px;height:91px;clip-path:polygon(0 0,100% 21%,75% 100%,0 79%);background:#4d3b55;border:5px solid #211c25}.ggi-ship-v687 .flag{position:absolute;left:160px;top:8px;width:74px;height:34px;clip-path:polygon(0 0,100% 14%,79% 50%,100% 86%,0 100%);background:#d0a83b;transform-origin:left center;animation:ggi-flag-v687 .85s ease-in-out infinite alternate}.ggi-ship-v687 .sign{position:absolute;left:75px;bottom:39px;z-index:2;padding:8px 12px;border:3px solid #241a15;border-radius:9px;background:#b98b2d;color:#171008;font:900 13px Georgia;letter-spacing:.08em}.ggi-ship-v687 .skull{position:absolute;left:130px;top:70px;z-index:2;font-size:35px}@keyframes ggi-flag-v687{to{transform:skewY(7deg) scaleX(.9)}}
.ggi-npc-v687{width:118px;height:156px}.ggi-npc-v687 .npc-motion{position:absolute;inset:0}.ggi-npc-v687 svg{width:100%;height:100%;overflow:visible}.ggi-fisher-v687 .rod{position:absolute;left:78px;top:50px;width:92px;height:5px;background:#3f2b1b;rotate:-36deg;transform-origin:left center;animation:ggi-cast-v687 6s ease-in-out infinite}.ggi-fisher-v687 .line{position:absolute;left:150px;top:9px;width:2px;height:125px;background:rgba(235,244,247,.72);animation:ggi-line-v687 6s ease-in-out infinite}.ggi-fisher-v687 .bobber{position:absolute;left:143px;top:128px;width:17px;height:17px;border-radius:50%;background:linear-gradient(#d9484c 50%,#f2f0e8 50%);animation:ggi-bobber-v687 1.4s ease-in-out infinite}.ggi-hunter-v687 .npc-motion{animation:ggi-hunter-hop-v687 6.5s ease-in-out infinite}.ggi-hunter-v687 .net{position:absolute;left:79px;top:40px;width:63px;height:89px;border:5px solid #5d4027;border-bottom:0;border-radius:50% 50% 35% 35%;transform-origin:0 100%;animation:ggi-net-v687 3.4s ease-in-out infinite}.ggi-hunter-v687 .net:after{content:"";position:absolute;left:28px;top:66px;width:7px;height:80px;background:#5d4027;rotate:-18deg;transform-origin:top}@keyframes ggi-cast-v687{0%,17%,100%{rotate:-36deg}28%{rotate:-72deg}36%{rotate:-23deg}}@keyframes ggi-line-v687{0%,20%,100%{scale:1 .3}38%,85%{scale:1 1}}@keyframes ggi-bobber-v687{50%{translate:0 5px}}@keyframes ggi-hunter-hop-v687{0%,100%{translate:-34px 0}45%{translate:42px -4px}50%{translate:44px 0}}@keyframes ggi-net-v687{0%,58%,100%{rotate:-12deg}70%{rotate:-55deg}79%{rotate:20deg}}
.ggi-chicken-v688{position:absolute;left:0;top:0;width:84px;height:76px;pointer-events:none;transform-origin:50% 100%;will-change:transform;filter:drop-shadow(0 7px 4px rgba(0,0,0,.28))}.ggi-chicken-v688 svg{display:block;width:100%;height:100%;overflow:visible}.ggi-chicken-v688 .chicken-motion{display:block;width:100%;height:100%;transform-origin:50% 100%}.ggi-chicken-v688.walking .chicken-motion{animation:ggi-chicken-walk-v688 .42s ease-in-out infinite alternate}.ggi-chicken-v688.peck .chicken-motion{animation:ggi-chicken-peck-v688 1.7s ease-in-out infinite}@keyframes ggi-chicken-walk-v688{to{translate:0 -4px;rotate:2deg}}@keyframes ggi-chicken-peck-v688{0%,58%,100%{rotate:0}68%,78%{rotate:14deg;translate:5px 5px}}
.ggi-butterfly-v687{position:absolute;left:var(--x);top:var(--y);z-index:2500;width:28px;height:20px;pointer-events:none;animation:ggi-butterfly-flight-v687 var(--dur) cubic-bezier(.4,0,.3,1) var(--delay) infinite alternate}.ggi-butterfly-v687 .body{position:absolute;left:12px;top:2px;width:5px;height:17px;border-radius:50%;background:#28222d}.ggi-butterfly-v687 .wing{position:absolute;top:1px;width:13px;height:16px;background:var(--color);border:2px solid #382a3f;transform-origin:center right}.ggi-butterfly-v687 .wing.left{left:0;border-radius:90% 30% 70% 35%;animation:ggi-wing-left-v687 .24s ease-in-out infinite alternate}.ggi-butterfly-v687 .wing.right{right:0;border-radius:30% 90% 35% 70%;transform-origin:center left;animation:ggi-wing-right-v687 .24s ease-in-out infinite alternate}@keyframes ggi-wing-left-v687{to{transform:rotateY(72deg) rotate(-8deg)}}@keyframes ggi-wing-right-v687{to{transform:rotateY(-72deg) rotate(8deg)}}@keyframes ggi-butterfly-flight-v687{to{translate:var(--dx) var(--dy);rotate:8deg}}
.ggi-turtle-v687{position:absolute;left:0;top:0;z-index:25;width:105px;height:70px;pointer-events:none;filter:drop-shadow(0 8px 5px rgba(0,0,0,.28))}.ggi-turtle-v687 .shell{position:absolute;left:23px;top:13px;width:62px;height:46px;border:5px solid #2d493a;border-radius:52% 48% 55% 45%;background:radial-gradient(circle at 38% 36%,#718b55 0 13%,#3e6548 14% 38%,#2d4d3a 39%);}.ggi-turtle-v687 .head{position:absolute;right:3px;top:27px;width:27px;height:24px;border-radius:50%;background:#5d7c56}.ggi-turtle-v687 .flipper{position:absolute;width:31px;height:16px;border-radius:80% 20%;background:#557450;transform-origin:80% 50%;animation:ggi-flipper-v687 1.2s ease-in-out infinite alternate}.ggi-turtle-v687 .f1{left:15px;top:3px}.ggi-turtle-v687 .f2{left:17px;bottom:2px;animation-delay:-.6s}@keyframes ggi-flipper-v687{to{rotate:28deg;scale:.85}}
.ggi-ball-v687{position:absolute;left:0;top:0;z-index:3300;width:58px;height:58px;border:5px solid #25242b;border-radius:50%;background:conic-gradient(#d6ad3c 0 16.6%,#71459a 16.6% 33.2%,#eef0f3 33.2% 49.8%,#1f2027 49.8% 66.4%,#d6ad3c 66.4% 83%,#71459a 83%);pointer-events:none;box-shadow:0 9px 7px rgba(0,0,0,.34);will-change:transform}
.ggi-starfish-v687{position:absolute;left:var(--x);top:var(--y);z-index:2200;width:58px;height:58px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%) rotate(var(--rot));touch-action:manipulation;pointer-events:auto;filter:drop-shadow(0 5px 2px rgba(60,39,22,.3))}.ggi-starfish-v687 .star{position:absolute;inset:7px;clip-path:polygon(50% 0,61% 35%,95% 20%,70% 50%,100% 67%,63% 66%,58% 100%,45% 70%,16% 94%,33% 60%,0 48%,38% 43%);background:linear-gradient(145deg,#f29d79,#c66360);border-radius:35%}.ggi-starfish-v687 .star:after{content:"•••";position:absolute;left:12px;top:12px;color:#8b4544;font:900 7px monospace;letter-spacing:2px}.ggi-starfish-v687.collecting{animation:ggi-collect-v687 .46s ease-in forwards;pointer-events:none}@keyframes ggi-collect-v687{to{translate:0 -45px;scale:.25;rotate:150deg;opacity:0}}
.ggi-rock-v687{width:90px;height:64px;border-radius:55% 45% 30% 35%;background:linear-gradient(145deg,#7a7f84,#343840);border:5px solid #272930}.ggi-rock-v687:after{content:"";position:absolute;left:17px;top:10px;width:35px;height:12px;border-radius:50%;background:rgba(255,255,255,.16);rotate:-16deg}

.gg-island-collectibles-v687,.gg-island-npcs-v687,.gg-island-butterflies-v686{z-index:auto!important;pointer-events:none}.gg-island-clock-v687{position:absolute;z-index:9060;right:max(14px,env(safe-area-inset-right));top:72px;min-height:36px;padding:9px 12px;border:1px solid #6a717c;border-radius:999px;background:linear-gradient(145deg,#eef1f4,#aeb6c0);color:#111318;font-size:.7rem;font-weight:950;letter-spacing:.08em;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.gg-island-emote-tools-v686{left:18px!important;bottom:285px!important;z-index:9062!important}.gg-island-emote-tray-v682{left:18px!important;bottom:70px!important}.gg-island-emote-tools-v686 button{width:58px!important;min-height:54px!important}.gg-island-inventory-count-v687{display:flex;justify-content:space-between;align-items:center;padding:14px;border:1px solid #6a717b;border-radius:14px;background:linear-gradient(145deg,#f4dfa0,#b98a2c);font-weight:950}.gg-island-inventory-count-v687 b{font-size:1.35rem}.gg-island-shop-card-v687{max-width:400px}

/* Shared touch feedback remains visible beneath purple double-tap tracers. */
.gg-island-page-v682 :is(button,a,[role="button"]){transition:filter .12s ease,transform .12s ease,box-shadow .12s ease}.gg-island-page-v682 :is(button,a,[role="button"]):active{filter:brightness(.72)!important;box-shadow:inset 0 3px 8px rgba(0,0,0,.38)!important}.gg-island-page-v682 .ggi-starfish-v687:active{transform:translate(-50%,-50%) rotate(var(--rot)) scale(.94)}.gg-island-page-v682 :is(.ggi-ship-v687,.ggi-lighthouse-v687):active,.gg-island-page-v682 .gg-island-landmark-v682:active{transform:translate(-50%,-100%) scale(.97)}
body:not(.gg-island-roaming-v682) :is(.gg-island-water-motion-v686,.ggi-palm-v687 .fronds,.ggi-lighthouse-v687 .beam,.ggi-ship-v687 .flag,.ggi-npc-v687 *,.ggi-chicken-v688 *,.ggi-butterfly-v687,.ggi-butterfly-v687 *,.ggi-turtle-v687 *){animation-play-state:paused!important}
@media(max-width:560px){.gg-island-emote-tools-v686{left:14px!important;bottom:281px!important}.gg-island-emote-tray-v682{left:14px!important;bottom:70px!important}.gg-island-clock-v687{top:66px;right:10px;font-size:.62rem}.gg-island-familiar-v682{width:56px!important;height:63px!important}}
@media(prefers-reduced-motion:reduce){.gg-island-water-motion-v686,.ggi-palm-v687 .fronds,.ggi-lighthouse-v687 .beam,.ggi-ship-v687 .flag,.ggi-npc-v687 *,.ggi-chicken-v688 *,.ggi-butterfly-v687,.ggi-butterfly-v687 *,.ggi-turtle-v687 *{animation:none!important}.gg-island-night-v687{transition:none}.gg-island-page-v682 :is(button,a,[role="button"]){transition:none}}

/* v689 — directional avatar polish, shared tool dock, market and progression HUD. */
.gg-island-familiar-back-v683{display:none!important}
.gg-island-familiar-v682[data-direction="back"] .gg-island-familiar-back-v683{display:none!important}
.gg-island-avatar-v682:is([data-direction="left"],[data-direction="right"]) .gg-island-avatar-art-v682 :is(#earLayer,#earAccessory){clip-path:none!important;visibility:visible!important;overflow:visible!important}
.gg-island-avatar-v682:is([data-direction="left"],[data-direction="right"]) .gg-island-avatar-art-v682 :is(#eyesWhite,#eyes)>*:first-child{display:inline!important;visibility:visible!important;opacity:1!important}
.gg-island-avatar-v682:not(.walking) .gg-island-avatar-art-v682 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-left :is(.hand-motion,.motion){animation:ggi-idle-hand-left-v689 2.2s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.gg-island-avatar-v682:not(.walking) .gg-island-avatar-art-v682 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-right :is(.hand-motion,.motion){animation:ggi-idle-hand-right-v689 2.2s ease-in-out -.9s infinite alternate;transform-box:fill-box;transform-origin:center}
@keyframes ggi-idle-hand-left-v689{to{transform:translate(1px,-7px) rotate(5deg)}}
@keyframes ggi-idle-hand-right-v689{to{transform:translate(-1px,-6px) rotate(-5deg)}}
.gg-island-avatar-v682.walking .gg-island-avatar-art-v682 .ggi-island-feet-v687 :is(.gg-v610-foot-motion.left,.left .foot-motion,.left .motion){animation:ggi-foot-lift-left-v689 .32s cubic-bezier(.35,0,.2,1) infinite alternate!important;transform-box:fill-box;transform-origin:center}
.gg-island-avatar-v682.walking .gg-island-avatar-art-v682 .ggi-island-feet-v687 :is(.gg-v610-foot-motion.right,.right .foot-motion,.right .motion){animation:ggi-foot-lift-right-v689 .32s cubic-bezier(.35,0,.2,1) infinite alternate!important;transform-box:fill-box;transform-origin:center}
@keyframes ggi-foot-lift-left-v689{from{transform:translate(-5px,7px) rotate(-8deg)}to{transform:translate(7px,-19px) rotate(13deg)}}
@keyframes ggi-foot-lift-right-v689{from{transform:translate(5px,-19px) rotate(-13deg)}to{transform:translate(-7px,7px) rotate(8deg)}}
.ggi-island-back-hair-fallback-v689{display:inline!important;visibility:visible!important;opacity:1!important}
.gg-island-toast-v682{transform:translate(-50%,0)!important;top:50%;width:max-content;max-width:min(78vw,360px);z-index:9070}
.gg-island-tool-dock-v689{position:absolute;z-index:9065;left:max(14px,env(safe-area-inset-left));bottom:max(122px,calc(env(safe-area-inset-bottom) + 114px));width:min(184px,48vw);display:grid;gap:6px;filter:drop-shadow(0 8px 13px rgba(0,0,0,.38))}
.gg-island-tool-dock-v689[hidden]{display:none!important}
.gg-island-tool-dock-v689 .gg-island-emote-tools-v686{position:static!important;display:grid!important;grid-template-columns:1fr 1fr;gap:6px}
.gg-island-tool-dock-v689 .gg-island-emote-tools-v686 button{width:auto!important;min-height:55px!important}
.gg-island-tool-dock-v689 .gg-island-emote-tools-v686 button.active{outline:3px solid #6f3c95;outline-offset:1px}
.gg-island-tool-dock-v689 .gg-island-emote-tray-v682{position:static!important;display:grid!important;width:100%;min-height:0;padding:8px}
.gg-island-tool-heading-v689{font-size:.62rem;font-weight:1000;letter-spacing:.12em;color:#24272d;text-align:center}
.gg-island-tool-note-v689{font-size:.56rem;line-height:1.25;color:#272a30;text-align:center}
.gg-island-tool-dock-v689 .gg-island-inventory-count-v687{padding:10px;font-size:.72rem}.gg-island-tool-dock-v689 .gg-island-inventory-count-v687 b{font-size:1rem}
.gg-island-money-gauge-v689,.gg-island-level-gauge-v689{position:absolute;z-index:9055;bottom:max(68px,calc(env(safe-area-inset-bottom) + 60px));min-width:116px;padding:7px 10px;border:1px solid #555e68;border-radius:12px;background:linear-gradient(145deg,#f0f2f5,#c7cdd4 48%,#929ba6);color:#111318;box-shadow:inset 0 1px #fff,0 7px 18px rgba(0,0,0,.38);pointer-events:none}
.gg-island-money-gauge-v689{left:max(10px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:10px}.gg-island-money-gauge-v689 small,.gg-island-level-gauge-v689 small{font-size:.55rem;font-weight:1000;letter-spacing:.1em}.gg-island-money-gauge-v689 b{font-size:1rem}
.gg-island-level-gauge-v689{right:max(10px,env(safe-area-inset-right));display:grid;gap:3px}.gg-island-level-gauge-v689 small{display:flex;justify-content:space-between}.gg-island-level-gauge-v689>div{height:6px;border-radius:999px;background:#555e68;overflow:hidden}.gg-island-level-gauge-v689 i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8f52b8,#d7b05b);border-radius:inherit}.gg-island-level-gauge-v689>span{font-size:.5rem;font-weight:850;text-align:right}
.gg-island-market-view-v689{display:grid;gap:9px}.gg-island-market-view-v689[hidden]{display:none!important}.gg-island-market-view-v689 h3{margin:0;color:#111318}.gg-island-market-rate-v689{margin:0;color:#33260d;font-weight:950}.gg-island-market-stock-v689{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid #646b74;border-radius:12px;background:rgba(255,255,255,.35);color:#111318}.gg-island-market-stock-v689 b{font-size:1.35rem}
@media(max-width:560px){.gg-island-tool-dock-v689{left:14px;width:174px}.gg-island-money-gauge-v689,.gg-island-level-gauge-v689{min-width:106px;padding:6px 8px}.gg-island-bottom-v682>*{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.gg-island-avatar-v682 :is(.hand-motion,.motion,.gg-v610-foot-motion){animation:none!important}}

/* v690 — single Island toolbar/equipment authority, lower gauges, carry and idle life. */
.gg-island-bottom-v682{z-index:9062;gap:8px}
.gg-island-bottom-v682>*{min-width:72px}
.gg-island-money-gauge-v689,.gg-island-level-gauge-v689{bottom:max(8px,calc(env(safe-area-inset-bottom) + 5px));z-index:9058}
.gg-island-money-gauge-v689{left:max(8px,env(safe-area-inset-left))}
.gg-island-level-gauge-v689{right:max(8px,env(safe-area-inset-right))}

.gg-island-tool-dock-v689{position:absolute;z-index:9065;left:max(10px,env(safe-area-inset-left));top:max(142px,calc(env(safe-area-inset-top) + 124px));bottom:auto;width:min(178px,calc(50vw - 45px));display:flex;flex-direction:column;gap:7px;filter:drop-shadow(0 8px 13px rgba(0,0,0,.38));pointer-events:auto}
.ggi-tool-row-v690{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}
.ggi-tool-button-v690{width:62px;min-width:62px;height:62px;min-height:62px;padding:5px!important;border:1px solid #68717b!important;border-radius:14px!important;background:linear-gradient(145deg,#f4f6f8,#c7cdd4 52%,#909aa6)!important;color:#17191d!important;display:grid!important;place-items:center;gap:0!important;box-shadow:inset 0 1px white,0 6px 13px rgba(0,0,0,.34)!important;touch-action:manipulation}
.ggi-tool-button-v690>span{font-size:1.25rem;line-height:1}.ggi-tool-button-v690>small{font-size:.49rem;font-weight:1000;line-height:1.1}
.ggi-tool-button-v690.active{outline:3px solid #8b3fc0!important;outline-offset:2px;box-shadow:0 0 0 5px rgba(139,63,192,.19),inset 0 1px white!important}
.ggi-tool-panel-v690{width:100%;max-height:min(315px,46vh);padding:9px;border:1px solid #68717b;border-radius:15px;background:linear-gradient(145deg,rgba(244,246,248,.97),rgba(174,184,196,.97));color:#17191d;box-shadow:inset 0 1px white,0 8px 18px rgba(0,0,0,.4);display:grid;gap:7px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ggi-tool-panel-v690>[data-emote]{min-height:44px;padding:8px 10px;border:1px solid #747c87;border-radius:11px;background:linear-gradient(#f9fafb,#c7cdd4);color:#17191d;font-weight:850;text-align:left}
.ggi-tool-panel-v690 .gg-island-tool-heading-v689{color:#17191d}.ggi-tool-panel-v690 .gg-island-tool-note-v689{color:#30343a}
.ggi-equipment-card-v690{display:grid;grid-template-columns:35px 1fr;gap:6px;align-items:center;padding:6px;border:1px solid #78808a;border-radius:11px;background:rgba(255,255,255,.48)}
.ggi-equipment-card-v690.equipped{outline:2px solid #8b3fc0;background:rgba(227,208,241,.68)}
.ggi-equipment-card-v690>span:nth-child(2){min-width:0;display:grid}.ggi-equipment-card-v690 b{font-size:.68rem}.ggi-equipment-card-v690 small{font-size:.53rem;color:#4d535b}
.ggi-equipment-card-v690 button{grid-column:1/-1;min-height:34px;padding:5px;border:1px solid #4f5660;border-radius:8px;background:#27232d;color:white;font-size:.55rem;font-weight:950}.ggi-equipment-card-v690 button:disabled{opacity:.48}
.ggi-tool-art-v690{display:block;width:42px;height:42px}.ggi-tool-art-v690 svg{display:block;width:100%;height:100%;overflow:visible}

.ggi-market-items-v690{display:grid;gap:8px;max-height:min(390px,52vh);overflow:auto;-webkit-overflow-scrolling:touch}
.ggi-market-item-v690{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:8px;padding:9px;border:1px solid #646d77;border-radius:13px;background:rgba(255,255,255,.42);color:#17191d}
.ggi-market-item-v690>div{display:grid}.ggi-market-item-v690 b{font-size:.85rem}.ggi-market-item-v690 small{color:#3e4349;font-weight:800}.ggi-market-item-v690 button{min-height:44px;padding:7px 10px;border:1px solid #5e4718;border-radius:10px;background:linear-gradient(145deg,#f0d47a,#b98627);color:#171207;font-weight:950}.ggi-market-item-v690 button:disabled{filter:grayscale(.55);opacity:.62}

.ggi-equipped-tool-v690{position:absolute;z-index:8;left:65%;top:56%;width:53px;height:53px;transform:rotate(-15deg);transform-origin:18% 80%;pointer-events:none;filter:drop-shadow(0 3px 2px rgba(0,0,0,.32))}.ggi-equipped-tool-v690[hidden]{display:none}.ggi-equipped-tool-v690 svg{display:block;width:100%;height:100%;overflow:visible}
.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690{left:2%;transform:scaleX(-1) rotate(-15deg)}.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690{opacity:.72}

.ggi-idle-effects-v690{position:absolute;z-index:12;inset:0;pointer-events:none;overflow:visible}
.gg-island-avatar-v682:not(.walking):not(.ggi-idle-hand-v690):not(.ggi-idle-spider-v690) .gg-island-avatar-walk-v685{animation:ggi-normal-idle-v690 3.2s ease-in-out infinite alternate;transform-origin:50% 100%}
@keyframes ggi-normal-idle-v690{to{transform:translateY(-2px) rotate(.7deg)}}
.gg-island-avatar-v682.ggi-idle-hand-v690 .gg-island-avatar-walk-v685{animation:ggi-special-hand-v690 2.25s ease-in-out}
@keyframes ggi-special-hand-v690{0%,100%{transform:none}22%{transform:rotate(-3deg)}40%,58%,76%{transform:rotate(3deg) translateY(-2px)}49%,67%{transform:rotate(-3deg) translateY(-2px)}}
.gg-island-avatar-v682.ggi-idle-hand-v690 .gg-island-avatar-art-v682 :is(.hand-right,.right .hand-motion){animation:ggi-special-hand-part-v690 .28s ease-in-out 5 alternate!important;transform-box:fill-box;transform-origin:center}
@keyframes ggi-special-hand-part-v690{to{transform:translateY(-14px) rotate(18deg)}}
.gg-island-avatar-v682.ggi-idle-spider-v690 .gg-island-avatar-walk-v685{animation:ggi-spider-cough-v690 .55s ease-in-out 3}
@keyframes ggi-spider-cough-v690{50%{transform:translateY(5px) scaleY(.96) rotate(2deg)}}
.ggi-idle-spider-creature-v690{position:absolute;left:50%;top:42%;width:13px;height:10px;border-radius:50%;background:#28212c;border:2px solid #0e0c10;animation:ggi-spider-crawl-v690 2.8s .35s ease-out forwards}.ggi-idle-spider-creature-v690:before,.ggi-idle-spider-creature-v690:after{content:"";position:absolute;left:-7px;top:-3px;width:24px;height:15px;background:repeating-linear-gradient(28deg,transparent 0 4px,#17131a 5px 6px,transparent 7px 9px);clip-path:polygon(0 0,48% 42%,100% 0,58% 50%,100% 100%,50% 60%,0 100%,42% 50%)}
@keyframes ggi-spider-crawl-v690{0%{opacity:0;transform:translate(0,0) scale(.4)}12%{opacity:1;transform:translate(0,22px) scale(1)}82%{opacity:1}100%{opacity:0;transform:translate(78px,78px) rotate(25deg)}}
.gg-island-avatar-v682.ggi-idle-look-v690 .gg-island-avatar-walk-v685{animation:ggi-look-v690 2.2s ease-in-out}@keyframes ggi-look-v690{0%,100%{transform:none}30%{transform:rotateY(-10deg) rotate(-2deg)}65%{transform:rotateY(12deg) rotate(2deg)}}
.gg-island-avatar-v682.ggi-idle-brush-v690 .gg-island-avatar-walk-v685{animation:ggi-brush-v690 2.2s ease-in-out}@keyframes ggi-brush-v690{0%,100%{transform:none}30%,60%{transform:rotate(-2deg) translateX(-2px)}45%,75%{transform:rotate(2deg) translateX(2px)}}

@media(max-width:560px){.gg-island-tool-dock-v689{left:max(8px,env(safe-area-inset-left));top:max(132px,calc(env(safe-area-inset-top) + 112px));width:min(166px,calc(50vw - 45px))}.ggi-tool-button-v690{width:58px;min-width:58px;height:58px;min-height:58px}.gg-island-money-gauge-v689,.gg-island-level-gauge-v689{min-width:101px;max-width:112px;padding:6px}.gg-island-bottom-v682>*{min-width:66px;padding:8px 9px}}
@media(prefers-reduced-motion:reduce){.gg-island-avatar-v682 .gg-island-avatar-walk-v685,.ggi-idle-spider-creature-v690{animation:none!important}}

/* v693 — camera motion is the only high-priority animation while walking. */
.gg-island-world-v682{contain:strict!important;backface-visibility:hidden;-webkit-backface-visibility:hidden;isolation:isolate}
.gg-island-water-motion-v686{will-change:auto!important;contain:paint}
body.gg-island-camera-moving-v693 :is(.gg-island-water-motion-v686,.ggi-palm-v687 .fronds,.ggi-lighthouse-v687 .beam,.ggi-ship-v687 .flag,.ggi-npc-v687 *,.ggi-chicken-v688 .chicken-motion,.ggi-butterfly-v687,.ggi-butterfly-v687 *,.ggi-turtle-v687 *){animation-play-state:paused!important}
body.gg-island-camera-moving-v693 .ggi-object-v687,
body.gg-island-camera-moving-v693 .ggi-chicken-v688,
body.gg-island-camera-moving-v693 .ggi-turtle-v687{filter:none!important}

/* v695 — generated chicken sprite states, directional carry depth, throw feedback, and low-rate water drift. */
.ggi-chicken-v694{width:96px;height:96px;overflow:visible;contain:layout style;filter:drop-shadow(0 7px 4px rgba(0,0,0,.28))}
.ggi-chicken-v694 .chicken-motion{display:block;width:100%;height:100%;transform-origin:50% 88%;animation:none!important}
.ggi-chicken-feathers-v694{position:absolute;left:0;top:0;width:72px;height:72px;pointer-events:none;contain:layout style}
.ggi-chicken-feathers-v694 i{position:absolute;left:32px;top:34px;width:13px;height:24px;border:2px solid #243440;border-radius:85% 15% 75% 25%;background:linear-gradient(145deg,#d9fff2,#32b9b0 55%,#167d9e);transform-origin:50% 100%;animation:ggi-feather-burst-v694 .86s cubic-bezier(.16,.75,.25,1) forwards;animation-delay:calc(var(--i)*12ms)}
@keyframes ggi-feather-burst-v694{0%{opacity:0;transform:translate3d(0,0,0) rotate(0) scale(.55)}12%{opacity:1}100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rot)) scale(.9)}}
#ggIslandPetWaveV686.ggi-can-throw-v694{position:relative;overflow:hidden}
#ggIslandPetWaveV686.ggi-can-throw-v694:after{content:"HOLD TO THROW";display:block;margin-top:2px;font-size:.43rem;line-height:1;font-weight:1000;letter-spacing:.04em;color:#5b316f}
#ggIslandPetWaveV686.ggi-throw-charging-v694{outline:3px solid #8e43bb;box-shadow:0 0 0 5px rgba(142,67,187,.2),inset 0 0 0 999px rgba(215,176,91,.18)!important}
#ggIslandPetWaveV686.ggi-throw-charging-v694:before{content:"";position:absolute;inset:auto 0 0;height:5px;background:#8e43bb;transform-origin:left;animation:ggi-throw-charge-v694 .65s linear forwards}
@keyframes ggi-throw-charge-v694{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.gg-island-avatar-shadow-v682{bottom:10px!important}
.ggi-chicken-v694.carried-behind{filter:drop-shadow(0 3px 2px rgba(0,0,0,.25)) brightness(.96)}
.gg-island-water-motion-v686{opacity:.84!important;will-change:auto!important;contain:strict!important;background-color:#0d4c63!important;background-image:radial-gradient(ellipse 38px 9px at 22px 18px,transparent 57%,rgba(172,241,241,.42) 61%,transparent 69%),radial-gradient(ellipse 29px 7px at 78px 49px,transparent 54%,rgba(79,184,205,.39) 60%,transparent 70%),linear-gradient(135deg,rgba(20,114,139,.46),rgba(8,55,78,.4))!important;background-size:112px 68px,112px 68px,100% 100%!important;animation:ggi-water-drift-v695 4.8s steps(12,end) infinite!important}
@keyframes ggi-water-drift-v695{0%{opacity:.80;background-position:0 0,56px 34px,0 0}50%{opacity:.90;background-position:56px 34px,0 102px,0 0}100%{opacity:.80;background-position:112px 68px,-56px 170px,0 0}}
body.gg-island-camera-moving-v693 .gg-island-water-motion-v686{animation-play-state:paused!important;opacity:.82!important}
@media(prefers-reduced-motion:reduce){.ggi-chicken-feathers-v694 i,.gg-island-water-motion-v686,#ggIslandPetWaveV686.ggi-throw-charging-v694:before{animation:none!important}}

/* v696 — skull palm artwork, three-skull harvest, drops, inventory, and market. */
.ggi-skull-palm-v696{width:170px!important;height:255px!important;background:none!important;border:0!important;filter:drop-shadow(0 10px 5px rgba(0,0,0,.3))}
.ggi-palm-motion-v696{position:absolute;inset:0;display:block;transform:rotate(var(--lean,0deg));transform-origin:50% 100%}
.ggi-palm-motion-v696 img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.ggi-skull-palm-v696.shaking .ggi-palm-motion-v696{animation:ggi-skull-palm-shake-v696 .72s cubic-bezier(.36,.05,.25,1)}
@keyframes ggi-skull-palm-shake-v696{0%,100%{transform:rotate(var(--lean,0deg))}15%{transform:rotate(-7deg)}30%{transform:rotate(7deg)}45%{transform:rotate(-5deg)}60%{transform:rotate(5deg)}78%{transform:rotate(-2deg)}}
.ggi-palm-stock-v696{position:absolute;left:50%;top:36%;translate:-50% 0;display:flex;gap:2px;padding:3px 5px;border:1px solid rgba(40,21,43,.7);border-radius:999px;background:rgba(241,221,167,.88);box-shadow:0 2px 5px rgba(0,0,0,.25)}
.ggi-palm-stock-v696 i{display:block;width:12px;height:12px;background:url("island-skull-collectible-v696.png") center/contain no-repeat}.ggi-palm-stock-v696 i[hidden]{display:none}
.ggi-skull-v696{position:absolute;left:0;top:0;z-index:2205;width:58px;height:58px;padding:4px;border:0;background:transparent;pointer-events:auto;touch-action:manipulation;transform:translate3d(calc(var(--x) - 29px),calc(var(--y) - 29px),0) rotate(var(--spin));filter:drop-shadow(0 5px 3px rgba(46,31,24,.35))}
.ggi-skull-v696 img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.ggi-skull-v696.falling{pointer-events:none;animation:ggi-skull-fall-v696 .78s cubic-bezier(.25,.72,.32,1) forwards}
.ggi-skull-v696.collecting{pointer-events:none;animation:ggi-skull-collect-v696 .46s ease-in forwards}
@keyframes ggi-skull-collect-v696{to{translate:0 -46px;scale:.2;rotate:130deg;opacity:0}}
.gg-island-page-v682 .ggi-skull-v696:active{scale:.92}
.gg-island-inventory-count-v687.skulls{background:linear-gradient(145deg,#eee7d2,#cbb57f);border-color:#675440}
.ggi-market-sell-group-v696{display:grid;gap:7px;padding:9px;border:1px solid #777f88;border-radius:12px;background:rgba(255,255,255,.3)}
.ggi-market-sell-group-v696.skull{background:rgba(238,222,179,.4);border-color:#7a674d}
.ggi-market-sell-buttons-v696{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ggi-market-sell-buttons-v696 button{min-height:44px}
body:not(.gg-island-roaming-v682) .ggi-palm-motion-v696,body.gg-island-camera-moving-v693 .ggi-palm-motion-v696{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.ggi-skull-palm-v696.shaking .ggi-palm-motion-v696,.ggi-skull-v696.falling{animation:none!important}}

/* v697 — touch-safe collectibles, supplied umbrella/chicken/flower-grass art, and timed eggs. */
.gg-island-collectibles-v687{z-index:5200!important;pointer-events:none!important}
.ggi-skull-v696{z-index:5205!important;width:78px!important;height:78px!important;padding:10px!important;transform:translate3d(calc(var(--x) - 39px),calc(var(--y) - 39px),0) rotate(var(--spin));-webkit-tap-highlight-color:transparent}
.ggi-skull-v696 img{width:58px!important;height:58px!important}
@keyframes ggi-skull-fall-v696{0%{transform:translate3d(calc(var(--x) - 39px),calc(var(--y) - 230px),0) rotate(-35deg) scale(.72);opacity:.2}68%{transform:translate3d(calc(var(--x) - 39px),calc(var(--y) - 28px),0) rotate(calc(var(--spin) + 18deg)) scale(1.08);opacity:1}84%{transform:translate3d(calc(var(--x) - 39px),calc(var(--y) - 48px),0) rotate(var(--spin)) scale(.96)}100%{transform:translate3d(calc(var(--x) - 39px),calc(var(--y) - 39px),0) rotate(var(--spin)) scale(1);opacity:1}}

.ggi-umbrella-v697{width:176px!important;height:176px!important;background:none!important;border:0!important;filter:drop-shadow(0 10px 5px rgba(0,0,0,.28))}
.ggi-umbrella-v697 img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.ggi-umbrella-v697.color-1 img{filter:hue-rotate(102deg) saturate(.92) brightness(.96)}
.ggi-umbrella-v697.color-2 img{filter:hue-rotate(218deg) saturate(1.05) brightness(.98)}

.ggi-flower-grass-v697{width:150px!important;height:112px!important;filter:drop-shadow(0 7px 4px rgba(0,0,0,.2))}
.ggi-flower-grass-v697 .grass-motion{display:block;position:absolute;inset:0;transform-origin:50% 100%;will-change:auto}
.ggi-flower-grass-v697 .grass-motion img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.ggi-flower-grass-v697.rustle .grass-motion{animation:ggi-flower-grass-rustle-v697 .5s cubic-bezier(.3,.05,.35,1) 2 alternate!important}
@keyframes ggi-flower-grass-rustle-v697{0%{transform:skewX(0) rotate(0)}45%{transform:skewX(-7deg) rotate(-2deg)}100%{transform:skewX(8deg) rotate(2.5deg)}}

.ggi-egg-v697{position:absolute;left:0;top:0;z-index:5210;width:70px;height:70px;padding:13px;border:0;background:transparent;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transform:translate3d(calc(var(--x) - 35px),calc(var(--y) - 35px),0)}
.ggi-egg-v697 span{display:block;width:38px;height:46px;border:4px solid #55392f;border-radius:50% 50% 46% 46%/58% 58% 42% 42%;background:radial-gradient(circle at 35% 28%,#fff 0 8%,transparent 9%),linear-gradient(145deg,#fff8df,#e8c987);box-shadow:0 5px 4px rgba(0,0,0,.25)}
.ggi-egg-v697.golden span{border-color:#6b4512;background:radial-gradient(circle at 35% 25%,#fff9bd 0 9%,transparent 10%),linear-gradient(145deg,#fff47c,#f6bb1f 55%,#b96b08);box-shadow:0 0 12px rgba(255,221,73,.75),0 5px 4px rgba(0,0,0,.28);animation:ggi-golden-egg-glow-v697 1.2s ease-in-out infinite alternate}
.ggi-egg-v697.falling{pointer-events:none;animation:ggi-egg-drop-v697 .58s cubic-bezier(.25,.72,.32,1)}
.ggi-egg-v697.collecting{pointer-events:none;animation:ggi-egg-collect-v697 .4s ease-in forwards}
.ggi-egg-v697.expired{pointer-events:none;animation:ggi-egg-expire-v697 .3s ease-in forwards}
@keyframes ggi-egg-drop-v697{0%{translate:0 -76px;rotate:-18deg;opacity:0}70%{translate:0 5px;rotate:9deg;opacity:1}100%{translate:0;rotate:0;opacity:1}}
@keyframes ggi-egg-collect-v697{to{translate:0 -42px;scale:.25;opacity:0}}
@keyframes ggi-egg-expire-v697{to{scale:.45;opacity:0}}
@keyframes ggi-golden-egg-glow-v697{to{filter:brightness(1.18);transform:translateY(-2px)}}
.gg-island-inventory-count-v687.eggs{background:linear-gradient(145deg,#fff8df,#e6c987);border-color:#765931}
.ggi-market-sell-group-v696.egg{background:rgba(255,243,199,.46);border-color:#8a6b31}
.gg-island-shop-card-v687{max-height:min(86vh,720px);overflow:auto;-webkit-overflow-scrolling:touch}

body:not(.gg-island-roaming-v682) .ggi-egg-v697.golden span,body.gg-island-camera-moving-v693 .ggi-egg-v697.golden span{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.ggi-flower-grass-v697.rustle .grass-motion,.ggi-egg-v697,.ggi-egg-v697 span{animation:none!important}}

/* v699 — directional chickens, exact grass depth/hiding, safe collectibles, and edge tabs. */
.gg-island-collectibles-v687{z-index:auto!important}
.ggi-starfish-v687{z-index:2200!important}

.ggi-flower-grass-v699{z-index:var(--depth)!important}
.gg-island-avatar-v682{transition:opacity .5s ease,filter .5s ease}
.gg-island-avatar-v682.ggi-hidden-in-grass-v699{opacity:.62!important;filter:brightness(.62) saturate(.72)!important}

.ggi-chicken-v699{width:84px!important;height:84px!important;overflow:hidden!important;contain:layout paint style!important;filter:drop-shadow(0 5px 3px rgba(0,0,0,.25))}
.ggi-chicken-v699 .chicken-motion{display:block;width:100%;height:100%;overflow:hidden!important;animation:none!important}
.ggi-chicken-sprite-v699{display:block;width:100%;height:100%;background-position:0 0;image-rendering:auto;transform:translateZ(0)}
.ggi-chicken-v699:not(.walking):not(.carried):not(.thrown):not(.peck) .ggi-chicken-sprite-v699{animation:ggi-chicken-idle-sprite-v699 2.8s steps(1,end) infinite}
.ggi-chicken-v699.walking:not(.facing-back) .ggi-chicken-sprite-v699{animation:ggi-chicken-walk-sprite-v699 .48s steps(1,end) infinite}
.ggi-chicken-v699.walking.facing-back .ggi-chicken-sprite-v699{animation:ggi-chicken-back-walk-sprite-v699 .48s steps(1,end) infinite}
.ggi-chicken-v699.peck .ggi-chicken-sprite-v699{animation:ggi-chicken-peck-sprite-v699 .72s steps(1,end) infinite}
.ggi-chicken-v699.carried .ggi-chicken-sprite-v699{animation:ggi-chicken-flap-sprite-v699 .5s steps(1,end) infinite}
.ggi-chicken-v699.thrown .ggi-chicken-sprite-v699{animation:ggi-chicken-thrown-sprite-v699 .3s steps(1,end) infinite}
.ggi-chicken-v699.chicken-color-1 .ggi-chicken-sprite-v699{filter:sepia(.42) saturate(1.28) hue-rotate(330deg)}
.ggi-chicken-v699.chicken-color-2 .ggi-chicken-sprite-v699{filter:sepia(.55) saturate(1.45) hue-rotate(82deg)}
.ggi-chicken-v699.chicken-color-3 .ggi-chicken-sprite-v699{filter:grayscale(.5) brightness(.8) contrast(1.15)}
.ggi-chicken-v699.chicken-color-4 .ggi-chicken-sprite-v699{filter:sepia(.48) saturate(1.5) hue-rotate(205deg)}
body.gg-island-camera-moving-v693 .ggi-chicken-v699 .ggi-chicken-sprite-v699{animation-play-state:running!important}

.gg-island-tool-dock-v689{left:0!important;top:clamp(220px,28svh,360px)!important;width:58px!important;gap:5px!important;filter:none!important}
.ggi-tool-row-v690{position:relative!important;width:58px!important;gap:0!important}
.ggi-tool-button-v690{width:58px!important;min-width:58px!important;height:66px!important;min-height:66px!important;margin-left:-1px!important;padding:5px 3px!important;border-left:0!important;border-radius:0 14px 14px 0!important;box-shadow:inset 0 1px white,2px 4px 8px rgba(0,0,0,.28)!important}
.ggi-tool-button-v690>small{font-size:.46rem!important}
.ggi-tool-panel-v690{position:absolute!important;left:61px!important;top:0!important;width:154px!important;max-height:min(330px,48vh)!important}
@media(max-width:560px){.gg-island-tool-dock-v689{left:0!important;top:clamp(230px,29svh,350px)!important;width:55px!important}.ggi-tool-row-v690{width:55px!important}.ggi-tool-button-v690{width:55px!important;min-width:55px!important;height:64px!important;min-height:64px!important}.ggi-tool-panel-v690{left:58px!important;width:min(158px,calc(100vw - 68px))!important}}
@media(prefers-reduced-motion:reduce){.ggi-chicken-v699 .ggi-chicken-sprite-v699{animation:none!important}.ggi-chicken-v699.walking:not(.facing-back) .ggi-chicken-sprite-v699,.ggi-chicken-v699.walking.facing-back .ggi-chicken-sprite-v699{background-position:33.333% 50%}.ggi-chicken-v699.peck .ggi-chicken-sprite-v699{background-position:33.333% 0}.ggi-chicken-v699.carried .ggi-chicken-sprite-v699{background-position:33.333% 100%}}

/* v700 — skull-shell beach crabs, night sleep, and chicken beach-ball play. */
.ggi-chicken-v699{overflow:visible!important;contain:layout style!important}
.ggi-chicken-v699.sleeping .ggi-chicken-sprite-v699{animation:none!important;background-position:0 0!important;filter:brightness(.78) saturate(.78)}
.ggi-chicken-v699.sleeping .chicken-motion{animation:ggi-animal-sleep-v700 2.2s ease-in-out infinite alternate!important}
.ggi-chicken-v699.sleeping:after,.ggi-crab-v700.sleeping:after{content:"z  z  Z";position:absolute;left:54%;top:-13px;z-index:4;white-space:nowrap;color:#e8e6ff;font:900 13px/1 Georgia,serif;letter-spacing:2px;text-shadow:0 1px 2px #2e2554,0 0 7px #745cb8;animation:ggi-sleep-z-v700 2.4s ease-out infinite;pointer-events:none}
.ggi-chicken-v699.ball-dart .chicken-motion{animation:ggi-chicken-dart-v700 .32s ease-in-out infinite alternate!important}
.ggi-chicken-v699.ball-dart .ggi-chicken-sprite-v699{animation:ggi-chicken-flap-sprite-v699 .32s steps(1,end) infinite!important}
@keyframes ggi-chicken-dart-v700{to{translate:0 -7px;rotate:4deg}}
@keyframes ggi-animal-sleep-v700{to{translate:0 2px;scale:1 .96}}
@keyframes ggi-sleep-z-v700{0%{translate:0 7px;scale:.72;opacity:0}28%{opacity:1}100%{translate:16px -24px;scale:1.08;opacity:0}}

.ggi-crab-v700{position:absolute;left:0;top:0;width:92px;height:92px;pointer-events:none;transform-origin:50% 88%;will-change:transform;filter:drop-shadow(0 6px 4px rgba(28,31,48,.28))}
.ggi-crab-motion-v700{display:block;width:100%;height:100%;overflow:hidden;transform-origin:50% 86%}
.ggi-crab-sprite-v700{display:block;width:100%;height:100%;image-rendering:auto;transform:translateZ(0)}
.ggi-crab-v700.flower-0{--crab-row:0}.ggi-crab-v700.flower-1{--crab-row:33.333%}.ggi-crab-v700.flower-2{--crab-row:66.666%}.ggi-crab-v700.flower-3{--crab-row:100%}
.ggi-crab-v700.walking .ggi-crab-motion-v700{animation:ggi-crab-scuttle-body-v700 .26s ease-in-out infinite alternate}
.ggi-crab-v700.walking .ggi-crab-sprite-v700{animation:ggi-crab-scuttle-v700 .32s steps(1,end) infinite}
.ggi-crab-v700.chasing .ggi-crab-motion-v700{animation-duration:.18s}
.ggi-crab-v700.punching .ggi-crab-sprite-v700,.ggi-crab-v700.robber .ggi-crab-sprite-v700{animation:none!important;background-position:75% var(--crab-row,0)!important}
.ggi-crab-v700.punching .ggi-crab-motion-v700{animation:ggi-crab-punch-v700 .26s ease-in-out 2 alternate}
.ggi-crab-v700.sleeping .ggi-crab-sprite-v700{animation:none!important;background-position:100% var(--crab-row,0)!important;filter:brightness(.77) saturate(.76)}
.ggi-crab-v700.sleeping .ggi-crab-motion-v700{animation:ggi-animal-sleep-v700 2.2s ease-in-out -.7s infinite alternate}
.ggi-crab-v700.vanishing{animation:ggi-crab-water-vanish-v700 .55s ease-in forwards}
@keyframes ggi-crab-scuttle-body-v700{to{translate:0 -3px;rotate:2deg}}
@keyframes ggi-crab-punch-v700{to{translate:7px -2px;rotate:-5deg}}
@keyframes ggi-crab-water-vanish-v700{to{opacity:0;filter:blur(3px) brightness(1.35)}}
body:not(.gg-island-roaming-v682) :is(.ggi-crab-v700 *),body.gg-island-camera-moving-v693 :is(.ggi-crab-v700 *){animation-play-state:paused!important}
body.gg-island-camera-moving-v693 :is(.ggi-crab-v700.walking .ggi-crab-motion-v700,.ggi-crab-v700.walking .ggi-crab-sprite-v700,.ggi-crab-v700.sleeping .ggi-crab-motion-v700,.ggi-crab-v700.sleeping:after){animation-play-state:running!important}
@media(prefers-reduced-motion:reduce){.ggi-chicken-v699.sleeping .chicken-motion,.ggi-chicken-v699.sleeping:after,.ggi-chicken-v699.ball-dart .chicken-motion,.ggi-crab-v700,.ggi-crab-v700 *,.ggi-crab-v700:after{animation:none!important}.ggi-crab-v700.walking .ggi-crab-sprite-v700{background-position:25% var(--crab-row,0)}.ggi-crab-v700.sleeping .ggi-crab-sprite-v700{background-position:100% var(--crab-row,0)!important}}

/* v701 — proximity-pooled shoreline surf and popping foam bubbles. */
.ggi-surf-v701{position:absolute;left:0;top:0;z-index:2600;width:144px;height:72px;pointer-events:none;transform-origin:50% 50%;contain:layout style;will-change:transform;transition:opacity .18s linear}
.ggi-surf-motion-v701{display:block;position:absolute;inset:0;transform-origin:50% 50%;animation:ggi-surf-push-pull-v701 1.62s ease-in-out var(--surf-delay,0s) infinite}
.ggi-surf-sprite-v701{display:block;position:absolute;inset:0;background-image:url("island-surf-foam-sprites-v701.png");background-repeat:no-repeat;background-size:800% 100%;background-position:0 0;animation:ggi-surf-frames-v701 1.62s steps(7,end) var(--surf-delay,0s) infinite;transform:translateZ(0)}
.ggi-surf-motion-v701:after{content:"";position:absolute;left:57%;top:45%;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:18px -5px 0 1px rgba(224,250,255,.82),-24px 4px 0 rgba(255,255,255,.8);animation:ggi-surf-bubble-pop-v701 1.62s ease-out calc(var(--surf-delay,0s) - .36s) infinite}
@keyframes ggi-surf-frames-v701{to{background-position:100% 0}}
@keyframes ggi-surf-push-pull-v701{0%{translate:0 var(--surf-water,9px);scale:.88 .9;opacity:0}18%{opacity:.82}42%{translate:0 var(--surf-mid,-5px);scale:1.02 1;opacity:1}64%{translate:0 var(--surf-crest,-8px);scale:1.05 .96;opacity:.9}100%{translate:0 var(--surf-return,7px);scale:.9 .86;opacity:0}}
@keyframes ggi-surf-bubble-pop-v701{0%,44%{scale:.35;opacity:0}54%{scale:1;opacity:1}68%{scale:1.45;opacity:.72}76%,100%{scale:2;opacity:0}}
body:not(.gg-island-roaming-v682) :is(.ggi-surf-v701,.ggi-surf-v701 *){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.ggi-surf-v701,.ggi-surf-v701 *{animation:none!important}.ggi-surf-sprite-v701{background-position:57.143% 0}.ggi-surf-motion-v701{opacity:.72}}

/* v702 — catchable night flightbugs and shoreline wooden-rod casting. */
.ggi-flightbug-v702{position:absolute;left:var(--x);top:var(--y);z-index:4100;width:50px;height:50px;margin:0;padding:0;border:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:auto;touch-action:manipulation;transform:translate(-50%,-50%);filter:drop-shadow(0 0 7px rgba(255,239,98,.76));animation:ggi-flightbug-drift-v702 var(--dur) ease-in-out var(--delay) infinite alternate;will-change:transform}
.ggi-flightbug-v702[hidden]{display:none!important}
.ggi-flightbug-motion-v702{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);animation:ggi-flightbug-bob-v702 .8s ease-in-out infinite alternate}
.ggi-flightbug-v702 i{position:absolute;display:block;pointer-events:none}
.ggi-flightbug-v702 .body{left:7px;top:4px;width:5px;height:12px;border-radius:60% 60% 48% 48%;background:#30243f;box-shadow:inset 0 -5px #ffe44f;z-index:3}
.ggi-flightbug-v702 .wing{top:4px;width:9px;height:8px;border:1.5px solid rgba(232,250,255,.94);border-radius:75% 25% 70% 30%;background:rgba(207,246,255,.56);transform-origin:100% 70%;animation:ggi-flightbug-wing-v702 .13s ease-in-out infinite alternate;z-index:2}
.ggi-flightbug-v702 .wing.left{left:0}.ggi-flightbug-v702 .wing.right{right:0;scale:-1 1;transform-origin:0 70%;animation-delay:-.065s}
.ggi-flightbug-v702 .glow{left:1px;top:1px;width:16px;height:16px;border-radius:50%;background:rgba(255,235,86,.2);box-shadow:0 0 9px 5px rgba(255,235,86,.44),0 0 21px 7px rgba(171,255,123,.2);animation:ggi-flightbug-glow-v702 .72s ease-in-out infinite alternate;z-index:1}
.ggi-flightbug-v702.bug-color-1{filter:drop-shadow(0 0 8px rgba(113,255,191,.78))}.ggi-flightbug-v702.bug-color-1 .body{box-shadow:inset 0 -5px #81f4a8}.ggi-flightbug-v702.bug-color-1 .glow{background:rgba(105,255,179,.2);box-shadow:0 0 9px 5px rgba(105,255,179,.44),0 0 21px 7px rgba(97,211,255,.2)}
.ggi-flightbug-v702.bug-color-2{filter:drop-shadow(0 0 8px rgba(122,210,255,.8))}.ggi-flightbug-v702.bug-color-2 .body{box-shadow:inset 0 -5px #8ee9ff}.ggi-flightbug-v702.bug-color-2 .glow{background:rgba(113,218,255,.2);box-shadow:0 0 9px 5px rgba(113,218,255,.45),0 0 21px 7px rgba(197,127,255,.2)}
.ggi-flightbug-v702.caught{pointer-events:none;animation:ggi-flightbug-catch-v702 .4s ease-in forwards!important}
@keyframes ggi-flightbug-drift-v702{from{transform:translate(-50%,-50%) translate(0,0)}to{transform:translate(-50%,-50%) translate(var(--dx),var(--dy))}}
@keyframes ggi-flightbug-bob-v702{to{translate:0 -5px;rotate:5deg}}
@keyframes ggi-flightbug-wing-v702{to{transform:rotateY(72deg) rotate(13deg)}}
@keyframes ggi-flightbug-glow-v702{to{scale:1.4;opacity:.52}}
@keyframes ggi-flightbug-catch-v702{to{transform:translate(-50%,-50%) scale(.1) rotate(180deg);opacity:0}}

.gg-island-inventory-count-v687.flightbugs{background:linear-gradient(145deg,#eefbd7,#bde9d3);border-color:#39765c}
.ggi-market-sell-group-v696.flightbugs{background:rgba(220,255,220,.42);border-color:#39765c}

.ggi-fishing-line-v702{position:absolute;left:0;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(244,250,247,.9),rgba(213,235,236,.62));box-shadow:0 0 1px rgba(22,35,39,.7);transform-origin:0 50%;pointer-events:none;will-change:width,transform}
.ggi-fishing-line-v702[hidden],.ggi-fishing-bobber-v702[hidden]{display:none!important}
.ggi-fishing-bobber-v702{position:absolute;left:0;top:0;width:20px;height:20px;pointer-events:none;will-change:transform}
.ggi-fishing-bobber-motion-v702{position:absolute;inset:0;display:block;transform-origin:50% 85%}
.ggi-fishing-bobber-v702.floating .ggi-fishing-bobber-motion-v702{animation:ggi-bobber-float-v702 1.35s ease-in-out infinite alternate}
.ggi-fishing-bobber-motion-v702 i{position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:linear-gradient(#f14d58 0 47%,#fff9e9 48% 100%);border:2px solid #2e2731;box-shadow:0 3px 0 rgba(39,109,122,.24),0 0 0 3px rgba(231,251,255,.2)}
.ggi-fishing-bobber-motion-v702 i:after{content:"";position:absolute;left:5px;top:-6px;width:3px;height:7px;border-radius:3px;background:#ef4d58;border:1px solid #2e2731}
@keyframes ggi-bobber-float-v702{to{translate:0 4px;rotate:7deg}}

.ggi-equipped-tool-v690[data-tool="fishingRod"]{left:45%;top:34%;width:82px;height:82px;transform:rotate(-15deg);z-index:10}
.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:29%;transform:scaleX(-1) rotate(-15deg)}
.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:43%;opacity:1;z-index:4}
.gg-island-avatar-v682.ggi-fishing-equipped-v702 .gg-island-avatar-art-v682 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) :is(.hand-motion,.motion){animation:none!important;transform-box:fill-box;transform-origin:center}
.gg-island-avatar-v682.ggi-fishing-equipped-v702 .gg-island-avatar-art-v682 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-left :is(.hand-motion,.motion){transform:translate(72px,-10px) rotate(-19deg)!important}
.gg-island-avatar-v682.ggi-fishing-equipped-v702 .gg-island-avatar-art-v682 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-right :is(.hand-motion,.motion){transform:translate(-72px,-10px) rotate(19deg)!important}
.gg-island-avatar-v682.ggi-casting-v702 .ggi-equipped-tool-v690[data-tool="fishingRod"]{animation:ggi-rod-cast-v702 .65s cubic-bezier(.3,.72,.3,1) both}
.gg-island-avatar-v682.ggi-casting-v702 .gg-island-avatar-walk-v685{animation:ggi-avatar-cast-v702 .65s ease-in-out both}
.gg-island-avatar-v682.ggi-reeling-v702 .ggi-equipped-tool-v690[data-tool="fishingRod"]{animation:ggi-rod-reel-v702 .28s ease-in-out 2 alternate}
.gg-island-avatar-v682.ggi-net-swing-v702 .ggi-equipped-tool-v690[data-tool="butterflyNet"]{animation:ggi-net-swing-v702 .5s cubic-bezier(.2,.8,.24,1) both}
.ggi-fishing-exit-v702{border-color:#77542e!important;background:linear-gradient(#fff3c8,#e5bd61)!important;color:#2f251e!important}
@keyframes ggi-rod-cast-v702{0%{rotate:-22deg}35%{rotate:-58deg}100%{rotate:28deg}}
@keyframes ggi-avatar-cast-v702{35%{rotate:-4deg;translate:-3px 0}70%{rotate:3deg;translate:3px -2px}}
@keyframes ggi-rod-reel-v702{to{rotate:-11deg;translate:-3px 3px}}
@keyframes ggi-net-swing-v702{0%{rotate:-38deg}55%{rotate:54deg;translate:7px -8px}100%{rotate:-12deg}}

body:not(.gg-island-roaming-v682) :is(.ggi-flightbug-v702,.ggi-flightbug-v702 *,.ggi-fishing-bobber-v702 *),body.gg-island-camera-moving-v693 :is(.ggi-flightbug-v702,.ggi-flightbug-v702 *){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.ggi-flightbug-v702,.ggi-flightbug-v702 *,.ggi-fishing-bobber-v702 *,.gg-island-avatar-v682.ggi-casting-v702 .ggi-equipped-tool-v690,.gg-island-avatar-v682.ggi-casting-v702 .gg-island-avatar-walk-v685,.gg-island-avatar-v682.ggi-reeling-v702 .ggi-equipped-tool-v690,.gg-island-avatar-v682.ggi-net-swing-v702 .ggi-equipped-tool-v690{animation:none!important}}

/* v703 — fishing rewards, collection book, quick equip, feedback, and time QA. */
.ggi-fishing-bobber-v702.biting .ggi-fishing-bobber-motion-v702{animation:ggi-bobber-bite-v703 .24s ease-in-out infinite alternate!important}
.ggi-fishing-bobber-v702.biting:after{content:"!";position:absolute;left:3px;top:-31px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f4ce4f;border:2px solid #32242d;color:#271b24;font:950 15px/1 sans-serif;box-shadow:0 0 0 4px rgba(255,231,92,.22);animation:ggi-bite-alert-v703 .38s ease-in-out infinite alternate}
.ggi-fishing-bite-v703{background:linear-gradient(#fff08f,#e7ad36)!important;box-shadow:0 0 0 3px rgba(255,222,63,.38),0 0 18px rgba(255,220,70,.8)!important;animation:ggi-reel-ready-v703 .42s ease-in-out infinite alternate}
@keyframes ggi-bobber-bite-v703{to{translate:0 9px;rotate:-12deg;scale:.9}}
@keyframes ggi-bite-alert-v703{to{translate:0 -4px;scale:1.12}}
@keyframes ggi-reel-ready-v703{to{transform:scale(1.045);filter:brightness(1.1)}}

.gg-island-inventory-count-v687.fishing{background:linear-gradient(145deg,#dff7fa,#9dccd8);border-color:#376c7a}
#ggiToolPanelinventory{width:min(270px,calc(100vw - 68px))!important;max-height:min(520px,66vh)!important;overflow:auto!important;-webkit-overflow-scrolling:touch}
.ggi-quick-title-v703,#ggiToolPanelinventory h4{margin:8px 0 5px;color:#342a35;font:950 .58rem/1.2 sans-serif;letter-spacing:.08em}
.ggi-quick-equip-v703{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:8px}
.ggi-quick-equip-v703>button{min-height:68px;padding:4px;border:1px solid #66707b;border-radius:9px;background:linear-gradient(#f5f7f8,#bdc5cc);color:#1c1d22;font:900 .46rem/1.1 sans-serif;box-shadow:inset 0 1px white;touch-action:manipulation}
.ggi-quick-equip-v703>button.equipped{border-color:#7c5a1d;background:linear-gradient(#fff1b2,#dcb44e);box-shadow:inset 0 1px #fff8d7,0 0 0 2px rgba(216,171,54,.26)}
.ggi-quick-equip-v703>button span{display:block;width:34px;height:34px;margin:0 auto 2px}.ggi-quick-equip-v703 svg{display:block;width:100%;height:100%}
.ggi-quick-equip-v703>button small{display:block;font:inherit}.ggi-quick-empty-v703{margin:4px 0 8px;font-size:.53rem;line-height:1.3;color:#4e5058}
.ggi-open-collection-v703,.ggi-collection-head-v703 button{width:100%;margin-top:7px;padding:7px;border:1px solid #5a4d62;border-radius:8px;background:linear-gradient(#f1e9f5,#baaac5);color:#27202d;font:950 .56rem/1 sans-serif;letter-spacing:.05em;touch-action:manipulation}
.ggi-collection-head-v703{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;margin-bottom:7px;color:#29222d;font:950 .65rem/1.1 sans-serif;letter-spacing:.06em}
.ggi-collection-head-v703 button{width:auto;margin:0;padding:6px 8px}
.ggi-collection-grid-v703{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.ggi-collection-card-v703{min-width:0;display:grid;grid-template-columns:29px 1fr;align-items:center;gap:5px;padding:5px;border:1px solid #78808a;border-radius:8px;background:linear-gradient(145deg,#f4f6f7,#c2c9d0);box-shadow:inset 0 1px rgba(255,255,255,.8)}
.ggi-collection-card-v703>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:rgba(255,255,255,.6);font-size:1rem}.ggi-collection-card-v703 b,.ggi-collection-card-v703 small{display:block;overflow:hidden;text-overflow:ellipsis}.ggi-collection-card-v703 b{font:950 .48rem/1.1 sans-serif;color:#24242a}.ggi-collection-card-v703 small{margin-top:2px;font:800 .42rem/1.1 sans-serif;color:#555b65}
.ggi-collection-card-v703.locked{filter:grayscale(1);opacity:.67}.ggi-collection-card-v703.treasure.found{border-color:#917022;background:linear-gradient(145deg,#fff7ce,#dfb84f)}.ggi-collection-card-v703.fish.found{border-color:#3e7988;background:linear-gradient(145deg,#eafcff,#acd5df)}.ggi-collection-card-v703.junk.found{border-color:#64734d;background:linear-gradient(145deg,#eff4df,#bdc99d)}

.ggi-market-sell-group-v696.fishing{background:rgba(214,245,250,.48);border-color:#3d7480}
.ggi-fishing-market-v703{display:grid;gap:6px}.ggi-fishing-market-row-v703{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:6px;padding:6px;border:1px solid #74818a;border-radius:8px;background:linear-gradient(145deg,#f2f6f7,#c4d4d8)}
.ggi-fishing-market-row-v703>span{font-size:1.1rem}.ggi-fishing-market-row-v703 b,.ggi-fishing-market-row-v703 small{display:block}.ggi-fishing-market-row-v703 b{font-size:.6rem}.ggi-fishing-market-row-v703 small{font-size:.5rem;color:#535a61;text-transform:capitalize}.ggi-fishing-market-row-v703 button,.ggi-sell-all-fishing-v703{min-height:30px;padding:5px 7px;border:1px solid #4e5961;border-radius:7px;background:linear-gradient(#f6f7f8,#b8c1c8);color:#1f2327;font:950 .5rem/1 sans-serif;touch-action:manipulation}.ggi-sell-all-fishing-v703{width:100%;background:linear-gradient(#fff1b5,#d2a847);border-color:#725724}

.gg-island-clock-v687{pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
.ggi-dev-cycle-v703{position:absolute;z-index:9062;right:max(14px,env(safe-area-inset-right));top:118px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;width:166px;padding:7px;border:1px solid #626b74;border-radius:12px;background:linear-gradient(145deg,#eef1f4,#aeb6c0);box-shadow:0 7px 18px rgba(0,0,0,.36)}
.ggi-dev-cycle-v703[hidden]{display:none!important}.ggi-dev-cycle-v703 small{grid-column:1/-1;text-align:center;color:#22262b;font:950 .5rem/1 sans-serif;letter-spacing:.14em}.ggi-dev-cycle-v703 button{min-height:30px;padding:4px;border:1px solid #525c65;border-radius:7px;background:#dce1e5;color:#171a1e;font:950 .5rem/1 sans-serif}.ggi-dev-cycle-v703 button.active{border-color:#76571e;background:linear-gradient(#fff0a7,#d6aa40);box-shadow:0 0 0 2px rgba(245,203,76,.25)}

@media(max-width:560px){#ggiToolPanelinventory{width:min(260px,calc(100vw - 64px))!important;max-height:min(500px,61vh)!important}.ggi-collection-grid-v703{grid-template-columns:1fr 1fr}.ggi-dev-cycle-v703{right:12px;top:116px}}
@media(prefers-reduced-motion:reduce){.ggi-fishing-bobber-v702.biting .ggi-fishing-bobber-motion-v702,.ggi-fishing-bobber-v702.biting:after,.ggi-fishing-bite-v703{animation:none!important}}

/* v704 — lowered side tabs, leafy ground, and moss-rock sprites. */
.ggi-rock-v687.ggi-rock-v704{width:150px;height:100px;border:0!important;border-radius:0!important;background:none!important;filter:drop-shadow(0 9px 5px rgba(23,35,36,.32))}
.ggi-rock-v687.ggi-rock-v704:after{display:none!important}
.ggi-rock-sprite-v704{position:absolute;inset:0;display:block;background-image:url("island-moss-rocks-v704.webp");background-repeat:no-repeat;transform:translateZ(0)}

.gg-island-tool-dock-v689{top:clamp(360px,50svh,620px)!important}
.ggi-tool-panel-v690{max-height:min(330px,35svh)!important;overflow:auto!important;-webkit-overflow-scrolling:touch}
#ggiToolPanelinventory{max-height:min(430px,43svh)!important}
@media(max-width:560px){.gg-island-tool-dock-v689{top:clamp(355px,50svh,520px)!important}.ggi-tool-panel-v690{max-height:min(320px,35svh)!important}#ggiToolPanelinventory{max-height:min(410px,42svh)!important}}

/* v705 — avatar-owned chicken carry layer and final hands authority. */
.gg-island-avatar-art-v682{z-index:10}
.ggi-equipped-tool-v690{z-index:20!important}
.ggi-carried-chicken-v705{position:absolute;z-index:22;left:11px;top:44px;width:88px;height:88px;display:block;overflow:visible;pointer-events:none;transform:scale(.88);transform-origin:50% 88%;filter:drop-shadow(0 5px 4px rgba(0,0,0,.34));will-change:transform}
.ggi-carried-chicken-v705[hidden]{display:none!important}
.ggi-carried-chicken-v705>.ggi-chicken-v699{position:absolute!important;left:0!important;top:0!important;z-index:1!important;width:84px!important;height:84px!important;display:block!important;overflow:visible!important;contain:layout style!important;transform:translate3d(2px,2px,0)!important;filter:none!important}
.ggi-carried-chicken-v705>.ggi-chicken-v699 .chicken-motion{overflow:visible!important}
.ggi-carried-chicken-motion-v705,.ggi-carried-chicken-sprite-v705{display:block;width:100%;height:100%;overflow:visible}
.ggi-carried-chicken-motion-v705{animation:ggi-carried-chicken-body-v705 .54s ease-in-out infinite alternate;transform-origin:50% 88%}
.ggi-carried-chicken-sprite-v705{animation:ggi-carried-chicken-flap-v705 .5s steps(1,end) infinite;image-rendering:auto;transform:translateZ(0)}
.ggi-carried-chicken-v705.chicken-color-1 .ggi-carried-chicken-sprite-v705{filter:sepia(.42) saturate(1.28) hue-rotate(330deg)}
.ggi-carried-chicken-v705.chicken-color-2 .ggi-carried-chicken-sprite-v705{filter:sepia(.55) saturate(1.45) hue-rotate(82deg)}
.ggi-carried-chicken-v705.chicken-color-3 .ggi-carried-chicken-sprite-v705{filter:grayscale(.5) brightness(.8) contrast(1.15)}
.ggi-carried-chicken-v705.chicken-color-4 .ggi-carried-chicken-sprite-v705{filter:sepia(.48) saturate(1.5) hue-rotate(205deg)}
@keyframes ggi-carried-chicken-body-v705{to{transform:translateY(-4px) rotate(-2deg)}}
.gg-island-avatar-v682[data-direction="back"] .ggi-carried-chicken-v705{z-index:6;left:-15px;top:47px;transform:scale(.82);filter:drop-shadow(0 3px 3px rgba(0,0,0,.28)) brightness(.96)}

.ggi-avatar-hands-overlay-v705{position:absolute;z-index:30;inset:0;display:block;overflow:visible;pointer-events:none}
.ggi-avatar-hands-overlay-v705 svg{display:block;width:100%;height:100%;overflow:visible}
.gg-island-avatar-art-v682 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687){visibility:hidden!important}
.ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687{display:none!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 .ggi-island-hands-v687{display:none!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687{display:inline!important;visibility:visible!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705{display:none!important}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 #ggiIslandBackHandsV687{display:inline!important;visibility:visible!important}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 .ggi-island-back-popcorn-v707{display:inline!important;visibility:visible!important}
.gg-island-avatar-v682:not(.walking) .ggi-avatar-hands-overlay-v705 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-left :is(.hand-motion,.motion){animation:ggi-idle-hand-left-v689 2.2s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.gg-island-avatar-v682:not(.walking) .ggi-avatar-hands-overlay-v705 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-right :is(.hand-motion,.motion){animation:ggi-idle-hand-right-v689 2.2s ease-in-out -.9s infinite alternate;transform-box:fill-box;transform-origin:center}
.gg-island-avatar-v682.walking .ggi-avatar-hands-overlay-v705 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-left :is(.hand-motion,.motion){animation:ggi-gremlin-hand-a-v685 .36s ease-in-out infinite alternate!important;transform-box:fill-box;transform-origin:center}
.gg-island-avatar-v682.walking .ggi-avatar-hands-overlay-v705 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-right :is(.hand-motion,.motion){animation:ggi-gremlin-hand-b-v685 .36s ease-in-out infinite alternate!important;transform-box:fill-box;transform-origin:center}
.gg-island-avatar-v682.ggi-idle-hand-v690 .ggi-avatar-hands-overlay-v705 :is(.hand-right,.right .hand-motion){animation:ggi-special-hand-part-v690 .28s ease-in-out 5 alternate!important;transform-box:fill-box;transform-origin:center}
.gg-island-avatar-v682.petting .ggi-avatar-hands-overlay-v705 .ggi-island-hands-v687 .hand-right :is(.hand-motion,.motion){animation:ggi-petting-hand-v686 .62s ease-in-out 1!important}
.gg-island-avatar-v682.ggi-fishing-equipped-v702 .ggi-avatar-hands-overlay-v705 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) :is(.hand-motion,.motion){animation:none!important;transform-box:fill-box;transform-origin:center}
.gg-island-avatar-v682.ggi-fishing-equipped-v702 .ggi-avatar-hands-overlay-v705 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-left :is(.hand-motion,.motion){transform:translate(72px,-10px) rotate(-19deg)!important}
.gg-island-avatar-v682.ggi-fishing-equipped-v702 .ggi-avatar-hands-overlay-v705 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687) .hand-right :is(.hand-motion,.motion){transform:translate(-72px,-10px) rotate(19deg)!important}

/* v706 — five-player rooms, connection HUD, and interpolated remote avatars. */
.ggi-island-weather-v706{position:absolute;z-index:8400;inset:0;pointer-events:none;opacity:0;transition:opacity 2.2s ease;will-change:opacity,background-position}
.ggi-island-weather-v706[data-weather="breezy"]{opacity:.2;background:repeating-linear-gradient(112deg,transparent 0 72px,rgba(232,251,231,.23) 74px 77px,transparent 80px 154px);background-size:310px 210px;animation:ggi-breeze-v706 7s linear infinite}
.ggi-island-weather-v706[data-weather="misty"]{opacity:.36;background:radial-gradient(ellipse 420px 160px at 20% 30%,rgba(232,241,235,.52),transparent 70%),radial-gradient(ellipse 520px 190px at 78% 64%,rgba(225,239,234,.45),transparent 72%);background-size:1000px 520px;animation:ggi-mist-v706 18s ease-in-out infinite alternate}
.ggi-island-weather-v706[data-weather="foggy"]{opacity:.58;background:radial-gradient(ellipse 520px 190px at 18% 22%,rgba(240,247,242,.72),transparent 73%),radial-gradient(ellipse 650px 230px at 82% 58%,rgba(226,239,235,.65),transparent 75%),linear-gradient(rgba(224,239,235,.14),rgba(214,231,230,.24));background-size:1120px 560px,1280px 620px,100% 100%;animation:ggi-mist-v706 22s ease-in-out infinite alternate}
.ggi-island-weather-v706[data-weather="rain"]{opacity:0;background:none;animation:none}
@keyframes ggi-breeze-v706{to{background-position:620px -210px}}@keyframes ggi-mist-v706{to{background-position:280px -80px,-340px 120px}}@keyframes ggi-rain-v706{to{background-position:-90px 260px}}
.gg-island-lobby-card-v682{max-width:790px!important}
.gg-island-server-options-v682{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.gg-server-card-v682.friends{border-color:#795093;background:linear-gradient(145deg,#e8d8f1,#b696c9 48%,#806090)}
.gg-server-card-v682.friends .gg-server-icon-v682{color:#5d277e}
.gg-private-controls-v682 label{margin:0 0 6px!important}
.gg-private-controls-v682 label small{font-weight:700}
.ggi-room-code-row-v706{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.ggi-room-code-row-v706 input{min-width:0;width:100%;height:46px;padding:10px 12px;border:1px solid #59626d;border-radius:11px;background:linear-gradient(145deg,#f6f8fa,#c7cdd4);color:#17191d;font:950 1rem/1 system-ui;letter-spacing:.17em;text-transform:uppercase;box-shadow:inset 0 1px white}
.ggi-room-code-row-v706 button{height:46px;padding:8px 12px;border:1px solid #5c4720;border-radius:10px;background:linear-gradient(#f1d77a,#ba8726);color:#18130a;font:950 .66rem/1 system-ui}
.ggi-island-offline-v706{flex:.66;padding:13px 9px;border:1px solid #68717b;border-radius:12px;background:linear-gradient(145deg,#eef1f4,#aeb6c0);color:#1b1e23;font:950 .66rem/1 system-ui;letter-spacing:.05em}
.gg-island-status-v682.error{color:#8d2431!important;font-weight:900}

.ggi-network-hud-v706{position:absolute;z-index:9070;top:max(76px,calc(env(safe-area-inset-top) + 66px));left:50%;translate:-50% 0;display:flex;align-items:center;gap:6px;pointer-events:none}
.ggi-network-hud-v706[hidden]{display:none!important}
.ggi-network-hud-v706>span,.ggi-network-hud-v706>button{min-height:34px;border:1px solid #5b646e;border-radius:999px;background:linear-gradient(145deg,rgba(244,247,249,.97),rgba(163,173,184,.97));color:#17191d;box-shadow:inset 0 1px white,0 5px 14px rgba(0,0,0,.32);font:950 .52rem/1 system-ui;letter-spacing:.09em;white-space:nowrap}
.ggi-network-hud-v706>span{display:grid;place-items:center;padding:7px 11px}
.ggi-network-hud-v706>span[data-state="connected"]{border-color:#217348;color:#135532;background:linear-gradient(#e8fff0,#a8d8b9)}
.ggi-network-hud-v706>span[data-state="reconnecting"],.ggi-network-hud-v706>span[data-state="error"]{border-color:#9b3b45;color:#78232d;background:linear-gradient(#ffe8e8,#e6a9ae)}
.ggi-network-hud-v706>button{pointer-events:auto;display:flex;align-items:center;gap:6px;padding:6px 10px;touch-action:manipulation}
.ggi-network-hud-v706>button[hidden]{display:none!important}.ggi-network-hud-v706>button small{font-size:.45rem}.ggi-network-hud-v706>button b{font-size:.67rem;letter-spacing:.16em}

.ggi-remote-players-v706{position:absolute;z-index:auto;inset:0;pointer-events:none}
.ggi-remote-avatar-v706,.ggi-remote-familiar-v706{will-change:transform;transition:opacity .25s ease,filter .25s ease}
.ggi-remote-avatar-v706.leaving,.ggi-remote-familiar-v706.leaving{opacity:0;filter:blur(2px)}
.ggi-remote-name-v706{position:absolute;z-index:45;left:50%;top:-12px;translate:-50% 0;max-width:128px;padding:3px 7px;border:1px solid rgba(255,255,255,.8);border-radius:999px;background:rgba(20,22,28,.82);color:white;box-shadow:0 3px 7px rgba(0,0,0,.33);font:900 8px/1.1 system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ggi-remote-speech-v706{position:absolute;z-index:48;left:75%;top:-32px;min-width:31px;padding:5px 7px;border:1px solid #626b75;border-radius:12px;background:#f5f6f7;color:#14171b;box-shadow:0 4px 10px rgba(0,0,0,.3);font-size:17px;text-align:center}
.ggi-remote-action-fx-v706{position:absolute;z-index:42;inset:0;pointer-events:none}
.ggi-remote-action-fx-v706>i{position:absolute;left:50%;top:44%;color:#f2c84b;font:1000 19px/1 serif;text-shadow:0 0 9px #fff2a0;animation:ggi-remote-sparkle-v706 .9s ease-out both}
.ggi-remote-action-fx-v706>i:nth-child(2){translate:32px -26px;animation-delay:.08s}.ggi-remote-action-fx-v706>i:nth-child(3){translate:-35px 12px;animation-delay:.16s}.ggi-remote-action-fx-v706>i:nth-child(4){translate:25px 25px;animation-delay:.24s}
@keyframes ggi-remote-sparkle-v706{0%{opacity:0;scale:.25}40%{opacity:1;scale:1.2}100%{opacity:0;translate:0 -42px;scale:.55}}
.ggi-remote-net-v706{position:absolute;right:-18px;top:35px;width:42px;height:52px;border:4px solid #725128;border-radius:50%;color:transparent;transform-origin:15% 90%;animation:ggi-remote-net-v706 .52s cubic-bezier(.2,.8,.2,1) both}
.ggi-remote-net-v706:after{content:"";position:absolute;left:3px;bottom:-34px;width:5px;height:38px;border-radius:5px;background:#76502b;rotate:-14deg}
@keyframes ggi-remote-net-v706{from{rotate:-75deg}to{rotate:42deg}}
.ggi-remote-feathers-v706{position:absolute;left:15px;top:24px;color:#fff6dc;font:900 18px/1 serif;text-shadow:0 2px 3px #5e442d;animation:ggi-remote-feathers-v706 .9s ease-out both}
@keyframes ggi-remote-feathers-v706{to{opacity:0;translate:12px -48px;rotate:35deg}}
.ggi-remote-tool-v706{position:absolute;z-index:20;right:3px;top:55px;font-size:35px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.35));transform:rotate(-12deg)}
.ggi-remote-tool-v706[hidden],.ggi-remote-carried-v706[hidden]{display:none!important}
.ggi-remote-carried-v706{left:11px;top:44px}
.ggi-remote-fishing-line-v706{position:absolute;left:0;top:0;height:2px;background:rgba(239,246,246,.86);transform-origin:0 50%;pointer-events:none}
.ggi-remote-fishing-bobber-v706{position:absolute;left:0;top:0;width:18px;height:18px;border:3px solid #25232b;border-radius:50%;background:linear-gradient(#ef515a 0 48%,#f4f1df 49%);box-shadow:0 3px 4px rgba(0,0,0,.3);pointer-events:none;animation:ggi-remote-bobber-v706 1.4s ease-in-out infinite alternate}
@keyframes ggi-remote-bobber-v706{to{translate:0 5px;rotate:7deg}}
.ggi-remote-avatar-v706[data-action="wave"] .ggi-avatar-hands-overlay-v705 .hand-right{transform-origin:center;animation:ggi-remote-wave-v706 .24s ease-in-out 5 alternate}
@keyframes ggi-remote-wave-v706{to{transform:translate(-15px,-30px) rotate(-22deg)}}
.ggi-remote-avatar-v706[data-action="pet"]{filter:drop-shadow(0 0 10px rgba(238,177,215,.75))}
.ggi-remote-avatar-v706[data-action="fish-cast"] .gg-island-avatar-walk-v685{animation:ggi-avatar-cast-v702 .65s ease-in-out both}
.ggi-remote-avatar-v706[data-action="fish-reel"] .gg-island-avatar-walk-v685{animation:ggi-rod-reel-v702 .28s ease-in-out 2 alternate}
.gg-island-avatar-v682.ggi-spawn-protected-v706:after{content:"";position:absolute;z-index:-1;left:-13px;top:13px;width:134px;height:134px;border:3px solid rgba(179,127,220,.8);border-radius:50%;box-shadow:0 0 22px rgba(137,74,181,.65),inset 0 0 22px rgba(215,179,239,.28);animation:ggi-spawn-shield-v706 .85s ease-in-out infinite alternate}
@keyframes ggi-spawn-shield-v706{to{opacity:.38;scale:1.08}}

@media(max-width:760px){.gg-island-server-options-v682{grid-template-columns:1fr}.gg-server-card-v682{min-height:72px}.gg-island-lobby-actions-v682{flex-wrap:wrap}.gg-island-enter-v682{flex-basis:62%}.ggi-island-offline-v706{flex-basis:30%}.gg-island-back-v682{flex-basis:100%}}
@media(max-width:560px){.ggi-network-hud-v706{top:max(102px,calc(env(safe-area-inset-top) + 70px));max-width:92vw}.ggi-network-hud-v706>span{max-width:150px;overflow:hidden;text-overflow:ellipsis}.ggi-remote-name-v706{font-size:7px}.ggi-remote-avatar-v706{width:104px;height:134px}}
@media(prefers-reduced-motion:reduce){.ggi-island-weather-v706,.ggi-remote-action-fx-v706>i,.ggi-remote-net-v706,.ggi-remote-feathers-v706,.ggi-remote-fishing-bobber-v706,.gg-island-avatar-v682.ggi-spawn-protected-v706:after{animation:none!important}}
@media(prefers-reduced-motion:reduce){.ggi-carried-chicken-motion-v705,.ggi-carried-chicken-sprite-v705,.ggi-avatar-hands-overlay-v705 :is(.hand-motion,.motion){animation:none!important}.ggi-carried-chicken-sprite-v705{background-position:33.333% 100%}}

/* v707 — continuous chickens, directional avatar layers, butterfly migration, and new island treasures. */
.ggi-carried-chicken-v705>.ggi-chicken-v699 .chicken-motion{animation:ggi-carried-chicken-body-v705 .54s ease-in-out infinite alternate!important;transform-origin:50% 88%}
.ggi-chicken-v699.thrown{display:block!important;visibility:visible!important;opacity:1!important}
.ggi-chicken-v699.thrown .chicken-motion{display:block!important;visibility:visible!important;opacity:1!important}

.ggi-butterfly-v707{position:absolute;left:0;top:0;width:56px;height:75px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:transparent;font:inherit;line-height:0;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;pointer-events:none;will-change:transform;transform-origin:50% 50%;filter:drop-shadow(0 0 5px rgba(255,238,172,.65)) drop-shadow(0 4px 3px rgba(26,23,38,.32));transition:opacity .24s ease}
.ggi-butterfly-v707[hidden]{display:none!important}
.ggi-butterfly-v707.returning{filter:drop-shadow(0 0 4px rgba(255,238,172,.5)) drop-shadow(0 3px 2px rgba(26,23,38,.28))}
.ggi-butterfly-sprite-v707{display:block;width:100%;height:100%;background-position:0 0;animation:none!important;transform:translateZ(0)}
.ggi-butterfly-v707.species-1 .ggi-butterfly-sprite-v707{animation-name:ggi-butterfly-orange-v707}
@keyframes ggi-butterfly-pink-v707{0%,24%{background-position:0 0}25%,49%{background-position:33.333% 0}50%,74%{background-position:66.666% 0}75%,100%{background-position:100% 0}}
@keyframes ggi-butterfly-orange-v707{0%,24%{background-position:0 100%}25%,49%{background-position:33.333% 100%}50%,74%{background-position:66.666% 100%}75%,100%{background-position:100% 100%}}

.ggi-ball-v687.ggi-ball-v707{width:68px;height:90px;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;filter:drop-shadow(0 8px 6px rgba(0,0,0,.34));overflow:hidden;transform-origin:50% 76%}
.ggi-ball-sprite-v707{display:block;width:100%;height:100%;background-image:url("island-beach-ball-v707.v747.webp");background-repeat:no-repeat;background-size:400% 100%;background-position:0 0;transform:translateZ(0)}
.ggi-ball-v707.rolling .ggi-ball-sprite-v707{animation:ggi-beach-ball-roll-v707 .34s steps(1,end) infinite}
@keyframes ggi-beach-ball-roll-v707{0%,24%{background-position:0 0}25%,49%{background-position:33.333% 0}50%,74%{background-position:66.666% 0}75%,100%{background-position:100% 0}}

.ggi-skull-v696.diamond-eyed-v707:before{content:"";position:absolute;z-index:3;left:22px;top:27px;width:34px;height:17px;background:radial-gradient(circle at 18% 50%,#fff 0 8%,#87eeff 10% 22%,#35a9ff 25% 38%,transparent 42%),radial-gradient(circle at 82% 50%,#fff 0 8%,#87eeff 10% 22%,#35a9ff 25% 38%,transparent 42%);filter:drop-shadow(0 0 4px #9ff6ff) drop-shadow(0 0 8px #429dff);animation:ggi-diamond-eyes-v707 .82s ease-in-out infinite alternate;pointer-events:none}
.ggi-skull-v696.diamond-eyed-v707:after{content:"✦";position:absolute;z-index:4;right:4px;top:1px;color:#dffcff;font:900 22px/1 Georgia;text-shadow:0 0 4px #fff,0 0 10px #48bcff;animation:ggi-diamond-star-v707 1.1s ease-in-out infinite;pointer-events:none}
@keyframes ggi-diamond-eyes-v707{to{scale:1.14;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 13px #278dff)}}
@keyframes ggi-diamond-star-v707{0%,100%{opacity:.28;scale:.45;rotate:0deg}48%{opacity:1;scale:1.12;rotate:100deg}}
.gg-island-inventory-count-v687.diamond-skulls{border-color:#348ec5;background:linear-gradient(145deg,#ecffff,#82dfff);box-shadow:inset 0 0 9px white,0 0 9px rgba(59,180,248,.35)}
.ggi-market-sell-group-v696.diamond-skull{border-color:#348ec5;background:linear-gradient(145deg,rgba(232,254,255,.82),rgba(108,207,255,.45))}

.gg-island-avatar-effects-v686.hulk i{color:#89e061;text-shadow:0 0 7px #d7ffbd,0 3px 2px #285a22}.gg-island-avatar-effects-v686.energy i{color:#fff076;text-shadow:0 0 9px #62dfff}.gg-island-avatar-effects-v686.combat i{color:#e6edf2;text-shadow:0 0 7px #9ca8b3}.gg-island-avatar-effects-v686.butterfly i{color:#ff8cce;text-shadow:0 0 8px #fff0b2}
.gg-island-avatar-v682.ggi-sparkle-popcorn-v707 .gg-island-avatar-art-v682 :is(.gg-v624-popcorn-beanie,.gg-spiked-popcorn-combo-v646,.ggi-island-back-popcorn-v707){transform-box:fill-box;transform-origin:center;animation:ggi-popcorn-hat-pop-v707 .24s cubic-bezier(.2,.9,.25,1) 4 alternate!important}
.gg-island-avatar-v682.ggi-sparkle-hulk-v707 :is(.ggi-avatar-hands-overlay-v705,.gg-island-avatar-art-v682) [data-mode="hulk"] .hand-left :is(.hand-motion,.motion),.gg-island-avatar-v682.ggi-sparkle-hulk-v707 :is(.ggi-avatar-hands-overlay-v705,.gg-island-avatar-art-v682) [data-mode="hulk"] .hand-right :is(.hand-motion,.motion){transform-box:fill-box;transform-origin:center;animation:ggi-hulk-smash-v707 .42s cubic-bezier(.2,.9,.24,1) 2!important}
.gg-island-avatar-v682.ggi-sparkle-energy-v707 .ggi-avatar-hands-overlay-v705 :is(.hand-motion,.motion){filter:drop-shadow(0 0 7px #7cecff) drop-shadow(0 0 12px #ffea68);animation:ggi-energy-hands-v707 .18s ease-in-out 5 alternate!important}
.gg-island-avatar-v682.ggi-sparkle-combat-v707 .ggi-avatar-hands-overlay-v705 :is(.hand-motion,.motion){animation:ggi-combat-hands-v707 .2s ease-in-out 4 alternate!important}
@keyframes ggi-popcorn-hat-pop-v707{to{transform:translateY(-8px) scale(1.08) rotate(2deg)}}
@keyframes ggi-hulk-smash-v707{0%{transform:translateY(-8px) rotate(-3deg)}58%{transform:translateY(18px) scale(1.08)}100%{transform:translateY(0)}}
@keyframes ggi-energy-hands-v707{to{filter:drop-shadow(0 0 12px #fff) drop-shadow(0 0 19px #59cfff);transform:scale(1.06)}}
@keyframes ggi-combat-hands-v707{to{transform:translateY(-7px) rotate(5deg)}}

@media(prefers-reduced-motion:reduce){.ggi-butterfly-sprite-v707,.ggi-ball-v707.rolling .ggi-ball-sprite-v707,.ggi-skull-v696.diamond-eyed-v707:before,.ggi-skull-v696.diamond-eyed-v707:after,.gg-island-avatar-v682[class*="ggi-sparkle-"] :is(.hand-motion,.motion,.gg-v624-popcorn-beanie,.gg-spiked-popcorn-combo-v646){animation:none!important}.ggi-butterfly-v707.species-1 .ggi-butterfly-sprite-v707{background-position:33.333% 100%}}

/* v708 — lock-safe multiplayer interactions, adaptive rendering, quick chat, and diagnostics. */
.ggi-nearby-interaction-v708{box-shadow:0 0 0 3px rgba(255,220,91,.58),0 0 18px 6px rgba(255,210,64,.52)!important;border-radius:22px;animation:ggi-nearby-glow-v708 .72s ease-in-out infinite alternate}
.ggi-skull-v696.ggi-nearby-interaction-v708,.ggi-egg-v697.ggi-nearby-interaction-v708,.ggi-flightbug-v702.ggi-nearby-interaction-v708{border-radius:50%}
.ggi-lock-pending-v708,.ggi-skull-v696.locking{opacity:.72;filter:grayscale(.2) drop-shadow(0 0 9px #f4d76d)!important;animation:ggi-lock-pending-v708 .42s ease-in-out infinite alternate}
@keyframes ggi-nearby-glow-v708{to{box-shadow:0 0 0 5px rgba(255,234,132,.34),0 0 25px 9px rgba(255,196,45,.62)}}
@keyframes ggi-lock-pending-v708{to{opacity:1;scale:1.035}}

.ggi-reconnect-v708{position:fixed;z-index:10040;left:50%;top:max(122px,calc(env(safe-area-inset-top) + 106px));translate:-50% 0;width:min(360px,88vw);display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #8b3945;border-radius:15px;background:linear-gradient(145deg,rgba(255,243,235,.98),rgba(231,170,177,.98));color:#421d25;box-shadow:inset 0 1px white,0 8px 24px rgba(0,0,0,.35);pointer-events:none}
.ggi-reconnect-v708[hidden]{display:none!important}.ggi-reconnect-v708>i{flex:0 0 18px;width:18px;height:18px;border:3px solid rgba(114,35,48,.25);border-top-color:#76283a;border-radius:50%;animation:ggi-reconnect-spin-v708 .8s linear infinite}.ggi-reconnect-v708>div{display:grid;gap:3px}.ggi-reconnect-v708 b{font:950 .72rem/1.05 system-ui}.ggi-reconnect-v708 span{font:750 .58rem/1.2 system-ui}.ggi-reconnect-v708[data-state="error"]>i{border-radius:3px;border:0;background:#8b3140;animation:none}.ggi-reconnect-v708[data-state="error"]>i:after{content:"!";display:grid;place-items:center;color:#fff;font:950 13px/18px system-ui}
@keyframes ggi-reconnect-spin-v708{to{rotate:1turn}}

.ggi-chat-wheel-v708{position:fixed;z-index:10030;inset:0;display:grid;place-items:center;padding:18px;background:rgba(14,13,21,.48);backdrop-filter:blur(3px)}
.ggi-chat-wheel-v708[hidden]{display:none!important}.ggi-chat-wheel-v708>section{position:relative;width:min(390px,92vw);padding:18px;border:2px solid #6b5524;border-radius:22px;background:linear-gradient(150deg,#fff5bf,#d8ac48 62%,#9b6d23);box-shadow:inset 0 2px rgba(255,255,255,.7),0 18px 48px rgba(0,0,0,.46);color:#21180c}.ggi-chat-wheel-v708 section>small{font:950 .55rem/1 system-ui;letter-spacing:.18em}.ggi-chat-wheel-v708 h2{margin:5px 0 14px;font:950 1.25rem/1.1 system-ui}.ggi-chat-wheel-v708 section>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ggi-chat-wheel-v708 section>div button{min-height:54px;padding:9px;border:1px solid #5f6268;border-radius:12px;background:linear-gradient(#f9fafb,#c5cbd1);color:#17191d;box-shadow:inset 0 1px white;font:900 .72rem/1.15 system-ui;touch-action:manipulation}.ggi-chat-close-v708{position:absolute;right:10px;top:9px;width:32px;height:32px;border:1px solid #684b22;border-radius:50%;background:#f4df9d;color:#291d0d;font:950 20px/1 system-ui}
.gg-island-speech-v682.text{max-width:min(250px,70vw);padding:7px 11px;border-radius:14px;font:900 .72rem/1.15 system-ui;white-space:nowrap}.ggi-remote-speech-v706.text{left:50%;top:-38px;translate:-50% 0;width:max-content;max-width:150px;font:850 8px/1.15 system-ui;white-space:normal}

.ggi-dev-panel-v708{position:fixed;z-index:10120;right:max(12px,env(safe-area-inset-right));top:max(170px,calc(env(safe-area-inset-top) + 150px));width:min(310px,88vw);padding:10px;border:1px solid #4e5760;border-radius:14px;background:linear-gradient(150deg,rgba(245,248,249,.98),rgba(156,166,177,.98));color:#17191d;box-shadow:inset 0 1px white,0 12px 34px rgba(0,0,0,.46)}
.ggi-dev-panel-v708[hidden]{display:none!important}.ggi-dev-panel-v708 header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.ggi-dev-panel-v708 header b{font:950 .62rem/1 system-ui;letter-spacing:.12em}.ggi-dev-panel-v708 header button{width:28px;height:28px;border:1px solid #525b64;border-radius:7px;background:#e2e6e9;font:950 17px/1 system-ui}.ggi-dev-panel-v708 output{display:block;margin-bottom:8px;padding:7px;border-radius:8px;background:#242a31;color:#bfffd7;font:800 .55rem/1.35 ui-monospace,monospace}.ggi-dev-panel-v708>small{display:block;margin:9px 0 4px;font:950 .48rem/1 system-ui;letter-spacing:.14em}.ggi-dev-panel-v708>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.ggi-dev-panel-v708 button{min-height:31px;padding:5px;border:1px solid #59636c;border-radius:7px;background:linear-gradient(#f1f3f4,#bcc4ca);color:#17191d;font:900 .47rem/1.05 system-ui}.ggi-dev-panel-v708 button.active{border-color:#795b18;background:linear-gradient(#fff0a0,#dab03e);box-shadow:0 0 0 2px rgba(245,195,50,.25)}.ggi-dev-actions-v708{grid-template-columns:1fr!important}.ggi-dev-actions-v708 button{min-height:34px!important}
.ggi-dev-test-player-v708{position:absolute;width:96px;height:120px;pointer-events:none}.ggi-dev-test-player-v708 svg{display:block;width:100%;height:100%;filter:drop-shadow(0 5px 3px rgba(0,0,0,.3))}.ggi-dev-test-player-v708 b{position:absolute;left:50%;top:-4px;translate:-50% 0;padding:2px 5px;border-radius:8px;background:#232730;color:white;font:800 7px/1 system-ui;white-space:nowrap}

body.ggi-lite-mode-v708 .ggi-island-weather-v706{animation:none!important;opacity:min(.2,var(--weather-opacity,.2))}body.ggi-lite-mode-v708 :is(.ggi-object-v687,.ggi-chicken-v699,.ggi-crab-v700,.ggi-butterfly-v707,.ggi-surf-v701){will-change:auto!important}body.ggi-lite-mode-v708 .gg-island-avatar-effects-v686 i:nth-child(n+6),body.ggi-lite-mode-v708 .ggi-chicken-feathers-v694 i:nth-child(n+6){display:none!important}body.ggi-lite-mode-v708 :is(.ggi-palm-v687,.ggi-rock-v704,.ggi-umbrella-v697,.ggi-chicken-v699,.ggi-crab-v700){filter:none}body.ggi-lite-mode-v708 .ggi-island-weather-v706[data-weather="misty"]{opacity:.16}body.ggi-lite-mode-v708 .ggi-island-weather-v706[data-weather="foggy"]{opacity:.24}body.ggi-lite-mode-v708 .ggi-island-weather-v706[data-weather="rain"]{opacity:.22}

@media(max-width:560px){.ggi-reconnect-v708{top:max(140px,calc(env(safe-area-inset-top) + 112px))}.ggi-chat-wheel-v708 section>div{grid-template-columns:1fr}.ggi-chat-wheel-v708 section>div button{min-height:45px}.ggi-dev-panel-v708{top:max(154px,calc(env(safe-area-inset-top) + 130px));right:8px}}
@media(prefers-reduced-motion:reduce){.ggi-nearby-interaction-v708,.ggi-lock-pending-v708,.ggi-skull-v696.locking,.ggi-reconnect-v708>i{animation:none!important}}
body:not(.gg-island-roaming-v682) .ggi-lighthouse-glow-v709,body.gg-island-camera-moving-v693 .ggi-lighthouse-glow-v709{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.ggi-lighthouse-glow-v709,.gg-island-splash-v687,.gg-island-splash-v687:before,.gg-island-splash-v687:after{animation:none!important}}

/* v710 — Gremlin sand arena, smart edge drawer, cast charging, moon pools, water life, and sun-clock shadows. */
:root{--ggi-sun-shadow-angle:0deg;--ggi-sun-shadow-length:.3;--ggi-sun-shadow-opacity:.2;--ggi-cast-charge:0}

/* Generated transparent arena replaces both flat sandcastle placeholders. */
.ggi-sandcastle-v687.ggi-sand-arena-v710{width:230px;height:205px;border:0;background:none;filter:drop-shadow(0 13px 7px rgba(78,48,20,.36))}
.ggi-sand-arena-v710>img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;pointer-events:none;user-select:none;-webkit-user-drag:none}

/* The source rock sheet has unequal row heights; fixed pixel offsets prevent the rock above from bleeding into the lower row. */
.ggi-rock-v687.ggi-rock-v704{overflow:hidden!important}
.ggi-rock-v704 .ggi-rock-sprite-v704{background-size:300px 200px!important;background-repeat:no-repeat!important}
.ggi-rock-v704.variant-0,.ggi-rock-v704.variant-1{height:114px!important}
.ggi-rock-v704.variant-2,.ggi-rock-v704.variant-3{height:86px!important}
.ggi-rock-v704.variant-0 .ggi-rock-sprite-v704{background-position:0 0!important}
.ggi-rock-v704.variant-1 .ggi-rock-sprite-v704{background-position:-150px 0!important}
.ggi-rock-v704.variant-2 .ggi-rock-sprite-v704{background-position:0 -114px!important}
.ggi-rock-v704.variant-3 .ggi-rock-sprite-v704{background-position:-150px -114px!important}
/* The lower-left rock has three valid alpha columns beyond its nominal 150px
   cell. Reveal only that measured 155px window; x153–154 stay transparent and
   the neighbouring atlas art does not begin until x175. */
.ggi-rock-v704.variant-2{overflow:visible!important}
.ggi-rock-v704.variant-2 .ggi-rock-sprite-v704{right:auto;width:155px}
/* v725 — the lower-right atlas cell has a detached two-pixel sliver from its
   neighbour at the left edge; clip only that gutter, not the rock silhouette. */
.ggi-rock-v704.variant-3 .ggi-rock-sprite-v704{
  -webkit-clip-path:inset(0 0 0 2px)!important;
  clip-path:inset(0 0 0 2px)!important;
}

/* Nearby interactions follow each sprite's alpha silhouette instead of drawing a rectangular box. */
.ggi-nearby-interaction-v708{box-shadow:none!important;border-radius:0!important;animation:none!important}
.ggi-skull-palm-v696{filter:none!important}
.ggi-palm-motion-v696{z-index:2;filter:drop-shadow(0 10px 5px rgba(0,0,0,.3))}
.ggi-palm-stock-v696{z-index:4}
.ggi-skull-palm-v696.ggi-nearby-interaction-v708 .ggi-palm-motion-v696,
.ggi-chicken-v699.ggi-nearby-interaction-v708 .chicken-motion,
.ggi-skull-v696.ggi-nearby-interaction-v708>img,
.ggi-egg-v697.ggi-nearby-interaction-v708>span,
.ggi-flightbug-v702.ggi-nearby-interaction-v708 .ggi-flightbug-motion-v702{filter:drop-shadow(0 0 1px #fff8c2) drop-shadow(0 0 4px #ffd448) drop-shadow(0 0 10px rgba(255,188,35,.95))!important}

/* Guaranteed foreground hands: the avatar's chosen hands remain visible and sit over held tools/creatures. */
.ggi-equipped-tool-v690{z-index:42!important}
.ggi-carried-chicken-v705{z-index:44!important}
.ggi-avatar-hands-overlay-v705{z-index:70!important;display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important}
.ggi-avatar-hands-overlay-v705 svg{display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important}
.ggi-avatar-hands-overlay-v705 .ggi-island-hands-v687{display:inline!important;visibility:visible!important;opacity:1!important}
.ggi-avatar-hands-overlay-v705 .ggi-island-hands-v687 :is(.hand-left,.hand-right,.hand-motion,.motion){display:inline!important;visibility:visible!important;opacity:1!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 .ggi-island-hands-v687{display:none!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687{display:inline!important;visibility:visible!important;opacity:1!important}
.gg-island-avatar-v682:is(.ggi-fishing-equipped-v702,.ggi-carrying-chicken-v705)[data-direction="back"] .ggi-avatar-hands-overlay-v705{display:block!important}
.gg-island-avatar-v682:is(.ggi-fishing-equipped-v702,.ggi-carrying-chicken-v705) .ggi-avatar-hands-overlay-v705{filter:drop-shadow(0 2px 1px rgba(0,0,0,.2))}

/* Compact tab rail plus a corner drawer that moves opposite the avatar. */
.gg-island-tool-dock-v689{position:fixed!important;z-index:9075!important;left:max(7px,env(safe-area-inset-left))!important;top:50%!important;bottom:auto!important;width:58px!important;max-width:none!important;display:block!important;transform:translateY(-50%);filter:none!important;pointer-events:none!important}
.ggi-tool-tabs-v710{display:grid;gap:7px;width:58px;pointer-events:auto}
.ggi-tool-tabs-v710 .ggi-tool-button-v690{width:56px!important;min-width:56px!important;height:56px!important;min-height:56px!important;border-radius:16px!important;backdrop-filter:blur(8px)}
.ggi-tool-tabs-v710 .ggi-tool-button-v690>span{font-size:1.05rem}.ggi-tool-tabs-v710 .ggi-tool-button-v690>small{font-size:.43rem}
.ggi-smart-drawer-v710{position:fixed!important;z-index:9076!important;width:min(292px,calc(100vw - 84px))!important;max-width:none!important;max-height:min(430px,46svh)!important;margin:0!important;padding:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr);gap:0!important;overflow:hidden!important;border:1px solid rgba(86,93,102,.95)!important;border-radius:18px!important;background:linear-gradient(150deg,rgba(247,249,250,.91),rgba(172,183,195,.89))!important;box-shadow:inset 0 1px white,0 14px 35px rgba(0,0,0,.43)!important;pointer-events:auto;backdrop-filter:blur(12px)}
.gg-island-tool-dock-v689[data-drawer-x="right"] .ggi-smart-drawer-v710{right:max(8px,env(safe-area-inset-right))!important;left:auto!important}
.gg-island-tool-dock-v689[data-drawer-x="left"] .ggi-smart-drawer-v710{left:max(74px,calc(env(safe-area-inset-left) + 70px))!important;right:auto!important}
.gg-island-tool-dock-v689[data-drawer-y="top"] .ggi-smart-drawer-v710{top:max(136px,calc(env(safe-area-inset-top) + 116px))!important;bottom:auto!important}
.gg-island-tool-dock-v689[data-drawer-y="bottom"] .ggi-smart-drawer-v710{bottom:max(82px,calc(env(safe-area-inset-bottom) + 74px))!important;top:auto!important}
.ggi-smart-drawer-v710>header{display:flex;align-items:center;justify-content:space-between;padding:8px 9px 7px 12px;border-bottom:1px solid rgba(80,87,96,.45);background:rgba(249,250,251,.52)}
.ggi-smart-drawer-v710>header b{color:#24272c;font:950 .62rem/1 system-ui;letter-spacing:.11em;text-transform:uppercase}
.ggi-smart-drawer-v710>header button{width:31px;height:31px;min-height:31px;padding:0;border:1px solid #555e68;border-radius:50%;background:linear-gradient(#f6f8f9,#b8c1c9);color:#1c2025;font:950 19px/1 system-ui;touch-action:manipulation}
.ggi-tool-panel-content-v710{min-height:0;padding:9px;display:grid;gap:7px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ggi-tool-panel-content-v710>.gg-island-tool-heading-v689{display:none}
.ggi-tool-panel-content-v710>[data-emote],.ggi-tool-panel-content-v710>[data-chat-wheel]{position:relative;min-height:44px;padding:8px 10px;border:1px solid #747c87;border-radius:11px;background:linear-gradient(#f9fafb,#c7cdd4);color:#17191d;font-weight:850;text-align:left;touch-action:manipulation}
#ggiToolPanelinventory.ggi-smart-drawer-v710{width:min(310px,calc(100vw - 84px))!important;max-height:min(520px,54svh)!important}

/* Hold-to-cast meter fills left-to-right; releasing converts the fill directly into cast distance. */
#ggIslandPetWaveV686.ggi-cast-action-v710{padding-bottom:17px!important;touch-action:none!important;overflow:hidden}
.ggi-cast-meter-v710{position:absolute;left:8px;right:8px;bottom:6px;height:6px;border:1px solid rgba(48,54,61,.65);border-radius:999px;background:rgba(42,49,57,.28);overflow:hidden;pointer-events:none}
.ggi-cast-meter-v710>i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffe073,#f0a529 58%,#db5a38);transform:scaleX(var(--ggi-cast-charge,0));transform-origin:left center;transition:transform .05s linear;box-shadow:0 0 7px rgba(255,194,53,.72)}
#ggIslandPetWaveV686.ggi-cast-charging-v710{outline:3px solid #d8aa36!important;box-shadow:0 0 0 5px rgba(244,196,58,.2),inset 0 1px white!important}
.gg-island-avatar-v682.ggi-charging-cast-v710 .ggi-equipped-tool-v690[data-tool="fishingRod"]{animation:ggi-rod-charge-v710 .42s ease-in-out infinite alternate}
@keyframes ggi-rod-charge-v710{to{rotate:-8deg;translate:-3px 2px}}

/* Palm silhouettes flatten into ground shadows and rotate from sunrise to sunset on the 15-minute day clock. */
.ggi-tree-sun-shadow-v710{position:absolute;z-index:0;inset:0;display:block;transform-origin:50% 100%;transform:rotate(var(--ggi-sun-shadow-angle)) scaleY(var(--ggi-sun-shadow-length)) skewX(-6deg);opacity:var(--ggi-sun-shadow-opacity);filter:brightness(0) saturate(0) blur(2px);mix-blend-mode:multiply;pointer-events:none;transition:transform 1s linear,opacity 1s linear}
.ggi-tree-sun-shadow-v710>img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 100%;opacity:.9;-webkit-user-drag:none}

/* Nearby underwater life remains dark and translucent like shapes beneath the surface. */
.ggi-water-life-layer-v710{position:absolute;z-index:3;inset:0;pointer-events:none;overflow:visible}
.ggi-water-life-v710{position:absolute;left:0;top:0;width:110px;height:64px;display:block;color:rgba(3,28,39,.76);opacity:.48;mix-blend-mode:multiply;filter:blur(.25px) drop-shadow(0 5px 4px rgba(4,40,52,.18));pointer-events:none;will-change:transform}
.ggi-water-life-v710[hidden]{display:none!important}.ggi-water-life-v710 svg{display:block;width:100%;height:100%;overflow:visible;fill:currentColor}.ggi-water-life-v710.ray{width:124px;height:72px;opacity:.38}.ggi-water-life-v710.stingray{width:156px;height:86px;opacity:.54;animation:ggi-stingray-glide-v738 1.7s ease-in-out infinite alternate}.ggi-water-life-v710.flounder{width:96px;height:50px;opacity:.5}

/* A soft silver-blue moon pool tracks every local and remote active avatar above the night wash. */
.ggi-moonlight-layer-v710{position:absolute;z-index:8605;inset:0;pointer-events:none;overflow:visible;opacity:clamp(0,var(--ggi-night),1);transition:opacity 2s linear}
.ggi-moon-spot-v710{position:absolute;left:0;top:0;width:230px;height:438px;display:block;pointer-events:none;will-change:transform;mix-blend-mode:screen}
.ggi-moon-spot-v710[hidden]{display:none!important}.ggi-moon-spot-v710 .beam{position:absolute;left:0;bottom:18px;width:230px;height:420px;clip-path:polygon(47% 0,53% 0,88% 100%,12% 100%);background:linear-gradient(180deg,rgba(215,230,255,.04),rgba(183,215,255,.12) 45%,rgba(210,236,255,.2));filter:blur(7px)}
.ggi-moon-spot-v710 .pool{position:absolute;left:25px;bottom:0;width:180px;height:47px;border-radius:50%;background:radial-gradient(ellipse,rgba(226,242,255,.34),rgba(145,194,240,.13) 56%,transparent 73%);filter:blur(3px);animation:ggi-moon-pool-v710 2.8s ease-in-out infinite alternate}
@keyframes ggi-moon-pool-v710{to{scale:1.08 .92;opacity:.78}}
@keyframes ggi-stingray-glide-v738{from{transform:translateY(-2px)}to{transform:translateY(3px)}}

body.ggi-lite-mode-v708 .ggi-water-life-v710:nth-child(n+5){display:none!important}
body.ggi-lite-mode-v708 .ggi-moon-spot-v710 .beam{filter:blur(4px);opacity:.7}
@media(max-width:560px){.ggi-smart-drawer-v710{width:min(232px,calc(100vw - 76px))!important;max-height:min(340px,38svh)!important}.ggi-tool-tabs-v710 .ggi-tool-button-v690{width:52px!important;min-width:52px!important;height:52px!important;min-height:52px!important}.gg-island-tool-dock-v689{width:54px!important}.ggi-tool-tabs-v710{width:54px}.gg-island-tool-dock-v689[data-drawer-x="left"] .ggi-smart-drawer-v710{left:max(66px,calc(env(safe-area-inset-left) + 62px))!important}#ggiToolPanelinventory.ggi-smart-drawer-v710{width:min(248px,calc(100vw - 76px))!important;max-height:min(420px,44svh)!important}}
@media(prefers-reduced-motion:reduce){.ggi-tree-sun-shadow-v710{transition:none!important}.ggi-water-life-v710{will-change:auto}.ggi-moon-spot-v710 .pool,.gg-island-avatar-v682.ggi-charging-cast-v710 .ggi-equipped-tool-v690{animation:none!important}}

/* v711 — exact avatar recovery, clean chicken cells, visible smart drawer, lighthouse shadow, and stronger shallow steps. */

/* Keep the fixed drawer relative to the screen. A transform on its parent made iOS contain the drawer and push it off-screen. */
.gg-island-tool-dock-v689{top:calc(50% - 85px)!important;transform:none!important}
.ggi-smart-drawer-v710{border-width:2px!important;background:linear-gradient(150deg,rgba(249,250,251,.98),rgba(183,192,202,.97))!important;box-shadow:inset 0 1px #fff,0 14px 35px rgba(0,0,0,.48)!important}
@media(max-width:560px){.ggi-smart-drawer-v710{width:min(252px,calc(100vw - 76px))!important;max-height:min(390px,43svh)!important}#ggiToolPanelinventory.ggi-smart-drawer-v710{width:min(266px,calc(100vw - 76px))!important;max-height:min(455px,50svh)!important}}

/* The lighthouse now casts the same timer-driven sprite shadow language as the skull palms. */
.ggi-lighthouse-sun-shadow-v711{position:absolute;z-index:0;inset:0;display:block;transform-origin:50% 100%;transform:rotate(var(--ggi-sun-shadow-angle)) scaleY(var(--ggi-sun-shadow-length)) skewX(-5deg);opacity:calc(var(--ggi-sun-shadow-opacity)*.9);filter:brightness(0) saturate(0) blur(3px);mix-blend-mode:multiply;pointer-events:none;transition:transform 1s linear,opacity 1s linear}
.ggi-lighthouse-sun-shadow-v711>img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%;opacity:.78;-webkit-user-drag:none}
.ggi-lighthouse-v709:after{z-index:1}.ggi-lighthouse-v709 .beam{z-index:2}.ggi-lighthouse-sprite-v709{z-index:3}.ggi-lighthouse-glow-v709{z-index:4}

/* Each shallow-water footfall gets a brighter puddle-sized splash. */
.gg-island-splash-v687{width:38px;height:19px;border-width:3px;filter:drop-shadow(0 1px 2px rgba(37,134,157,.7)) drop-shadow(0 0 4px rgba(207,250,255,.38))}

body.ggi-lite-mode-v708 .ggi-lighthouse-sun-shadow-v711{filter:brightness(0) saturate(0) blur(2px)}
@media(prefers-reduced-motion:reduce){.ggi-lighthouse-sun-shadow-v711{transition:none!important}}

/* v712 — tighter character layers, quieter deep-water life, stacked tools, and living island art. */

/* The final v713 cell rule owns the crop; only its explicit clip reset is needed here. */
.ggi-chicken-v699 .chicken-motion{clip-path:none!important}

/* The copied foreground hands are the final avatar layer in every direction. */
.ggi-avatar-hands-overlay-v705{z-index:90!important;display:block!important;visibility:visible!important;opacity:1!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705{display:block!important}
.ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV712{display:inline!important;visibility:visible!important;opacity:1!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV712{display:none!important}

/* One smaller arena castle. */
.ggi-sandcastle-v687.ggi-sand-arena-v710{width:190px!important;height:169px!important}

/* The selected panel is a sibling directly below its tab, so later tabs naturally move down. */
.gg-island-tool-dock-v689{top:46svh!important;bottom:auto!important;width:58px!important;max-height:calc(100svh - 150px)!important;transform:none!important;overflow:visible!important}
.gg-island-tool-dock-v689.ggi-tool-open-v712{width:min(224px,calc(100vw - 16px))!important;overflow-y:auto!important;overflow-x:visible!important;scrollbar-width:none}
.gg-island-tool-dock-v689.ggi-tool-open-v712::-webkit-scrollbar{display:none}
.gg-island-tool-dock-v689[data-drawer-x="left"]{left:max(7px,env(safe-area-inset-left))!important;right:auto!important}
.gg-island-tool-dock-v689[data-drawer-x="right"]{right:max(7px,env(safe-area-inset-right))!important;left:auto!important}
.ggi-tool-tabs-v710{display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;gap:7px!important}
.gg-island-tool-dock-v689[data-drawer-x="right"] .ggi-tool-tabs-v710{align-items:flex-end!important}
.ggi-tool-tabs-v710 .ggi-tool-button-v690{flex:0 0 auto!important}
.ggi-smart-drawer-v710,.gg-island-tool-dock-v689[data-drawer-x] .ggi-smart-drawer-v710,#ggiToolPanelinventory.ggi-smart-drawer-v710{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:min(214px,calc(100vw - 22px))!important;max-height:min(286px,34svh)!important;margin-top:0!important;border-width:1px!important;background:rgba(185,195,205,.50)!important;box-shadow:inset 0 1px rgba(255,255,255,.76),0 10px 24px rgba(0,0,0,.34)!important;backdrop-filter:blur(8px)!important}
#ggiToolPanelinventory.ggi-smart-drawer-v710{max-height:min(330px,38svh)!important}
.ggi-smart-drawer-v710>header{background:linear-gradient(#f7f8f9,#c0c8d0)!important;opacity:1!important}
.ggi-smart-drawer-v710 .ggi-tool-panel-content-v710 button{opacity:1!important}
@media(max-width:560px){.gg-island-tool-dock-v689{top:45svh!important}.gg-island-tool-dock-v689.ggi-tool-open-v712{width:min(212px,calc(100vw - 12px))!important}.ggi-smart-drawer-v710,.gg-island-tool-dock-v689[data-drawer-x] .ggi-smart-drawer-v710,#ggiToolPanelinventory.ggi-smart-drawer-v710{width:min(202px,calc(100vw - 18px))!important;max-height:min(250px,32svh)!important}}

/* New top-down island art. */
.ggi-land-art-v712{position:absolute;left:var(--x);top:var(--y);z-index:var(--depth);width:190px;height:165px;transform:translate(-50%,-50%);background-image:url("island-land-art-atlas-v712.v747.webp");background-repeat:no-repeat;background-size:300% 100%;pointer-events:none;opacity:.86;filter:drop-shadow(0 4px 3px rgba(36,57,24,.18))}
.ggi-land-art-v712.variant-0{background-position:0 50%}.ggi-land-art-v712.variant-1{background-position:50% 50%}.ggi-land-art-v712.variant-2{background-position:100% 50%}
.ggi-gremlin-tiki-v712{position:absolute;left:var(--x);top:var(--y);z-index:var(--depth);width:105px;height:138px;transform:translate(-50%,-100%);background-image:url("island-gremlin-tiki-atlas-v712.v747.webp");background-repeat:no-repeat;background-position:50% 0;background-size:auto 276px;filter:drop-shadow(0 8px 5px rgba(48,30,17,.36));pointer-events:none;animation:none!important}
.ggi-ship-v712{width:330px!important;height:350px!important;filter:drop-shadow(0 13px 8px rgba(39,24,18,.42));transition:opacity .3s ease!important}
.ggi-ship-v712 .ggi-shipwreck-sprite-v712{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%;pointer-events:none;-webkit-user-drag:none}
.ggi-ship-v712 .sign{left:85px!important;right:85px!important;bottom:115px!important;padding:5px 7px!important;background:#b98b2d!important;color:#171008!important;font-size:10px!important;white-space:nowrap}
.gg-island-house-v712{transition:opacity .3s ease!important}

/* Color variety without creating separate collectible types. */
.ggi-starfish-v687.star-color-0 .star{background:linear-gradient(145deg,#f29d79,#c66360)}
.ggi-starfish-v687.star-color-1 .star{background:linear-gradient(145deg,#ffcb63,#e06b3c)}
.ggi-starfish-v687.star-color-2 .star{background:linear-gradient(145deg,#a9e59c,#42a878)}
.ggi-starfish-v687.star-color-3 .star{background:linear-gradient(145deg,#ad9cff,#7358ba)}
.ggi-starfish-v687.star-color-4 .star{background:linear-gradient(145deg,#65d4dd,#3481b2)}

/* Only the rotated lighthouse sprite shadow remains. */
.ggi-lighthouse-v709:after{display:none!important}

/* Night bats reuse the player's bat Familiar art and stay outside the moon pool. */
.ggi-night-wildlife-v712{position:absolute;z-index:6100;inset:0;pointer-events:none;overflow:visible}
.ggi-night-bat-v712{position:absolute;left:0;top:0;width:88px;height:76px;display:block;will-change:transform;filter:drop-shadow(0 6px 4px rgba(0,0,0,.45));transform-origin:50% 60%}
.ggi-night-bat-v712[hidden]{display:none!important}.ggi-night-bat-v712>.gg-pet,.ggi-night-bat-v712>.gg-pet-room,.ggi-night-bat-v712 [data-pet-type="bat"]{width:88px!important;height:76px!important;transform:scale(.72);transform-origin:center}
.ggi-night-bat-v712 .pet-hover{animation:ggi-night-bat-flutter-v712 .42s ease-in-out infinite alternate!important}
@keyframes ggi-night-bat-flutter-v712{to{transform:translateY(-8px) rotate(3deg)}}
.ggi-bat-crab-v712{position:absolute;left:20px;top:43px;width:48px;height:48px;transform:scale(.5);transform-origin:50% 0}.ggi-bat-crab-v712 .chicken-motion{display:none}
.ggi-crab-bones-v712{position:absolute;left:0;top:0;width:68px;height:52px;display:block;pointer-events:none;filter:drop-shadow(0 4px 2px rgba(50,34,22,.3))}.ggi-crab-bones-v712 img{position:absolute;left:20px;top:5px;width:34px;height:34px;object-fit:contain}.ggi-crab-bones-v712 span{position:absolute;left:2px;top:17px;font-size:25px;rotate:-28deg}.ggi-crab-bones-v712 span:nth-child(2){left:38px;rotate:32deg}

.ggi-water-life-v710{opacity:.36}
body.ggi-lite-mode-v708 .ggi-water-life-v710:nth-child(n+2){display:none!important}
@media(prefers-reduced-motion:reduce){.ggi-night-bat-v712 .pet-hover{animation:none!important}}

/* v713 — isolated animal cells, persistent hands, press-follow movement, umbrella shade, and rebuilt lighthouse. */
:root{--ggi-lighthouse-shadow-length-v713:.28}
.gg-island-viewport-v682{touch-action:none!important}

/* Every displayed frame is an exact 84px/92px cell with transparent padding, so no neighbor can enter the window. */
.ggi-chicken-v699 .chicken-motion,.ggi-carried-chicken-motion-v705{position:relative!important;width:84px!important;height:84px!important;overflow:hidden!important}
.ggi-chicken-sprite-v699,.ggi-carried-chicken-sprite-v705{position:absolute!important;left:0!important;top:0!important;width:84px!important;height:84px!important;margin:0!important;overflow:hidden!important;background-image:url("island-chicken-sprites-v713.v747.webp?v=713")!important;background-size:336px 252px!important;background-repeat:no-repeat!important}
@keyframes ggi-chicken-idle-sprite-v699{0%,28%{background-position:0 0}29%,52%{background-position:-84px 0}53%,70%{background-position:-168px 0}71%,100%{background-position:-252px 0}}
@keyframes ggi-chicken-walk-sprite-v699{0%,24%{background-position:0 -84px}25%,49%{background-position:-84px -84px}50%,74%{background-position:-168px -84px}75%,100%{background-position:-252px -84px}}
@keyframes ggi-chicken-back-walk-sprite-v699{0%,24%{background-position:0 -84px}25%,49%{background-position:-84px -84px}50%,74%{background-position:-168px -84px}75%,100%{background-position:-252px -84px}}
@keyframes ggi-chicken-peck-sprite-v699{0%,42%{background-position:0 0}43%,70%{background-position:-84px 0}71%,100%{background-position:0 0}}
@keyframes ggi-chicken-flap-sprite-v699{0%,24%{background-position:0 -168px}25%,49%{background-position:-84px -168px}50%,74%{background-position:-168px -168px}75%,100%{background-position:-252px -168px}}
@keyframes ggi-chicken-thrown-sprite-v699{0%,49%{background-position:-168px -168px}50%,100%{background-position:-252px -168px}}
@keyframes ggi-carried-chicken-flap-v705{0%,24%{background-position:0 -168px}25%,49%{background-position:-84px -168px}50%,74%{background-position:-168px -168px}75%,100%{background-position:-252px -168px}}
.ggi-chicken-v699.sleeping .ggi-chicken-sprite-v699{background-position:0 0!important}

.ggi-crab-motion-v700{overflow:hidden!important}
.ggi-crab-sprite-v700{background-image:url("island-skull-crab-sprites-v713.v747.webp?v=713")!important;background-size:460px 368px!important;background-repeat:no-repeat!important;background-position:0 var(--crab-row,0px)}
.ggi-crab-v700.flower-0{--crab-row:0px}.ggi-crab-v700.flower-1{--crab-row:-92px}.ggi-crab-v700.flower-2{--crab-row:-184px}.ggi-crab-v700.flower-3{--crab-row:-276px}
.ggi-crab-v700.punching .ggi-crab-sprite-v700,.ggi-crab-v700.robber .ggi-crab-sprite-v700{background-position:-276px var(--crab-row,0px)!important}
.ggi-crab-v700.sleeping .ggi-crab-sprite-v700{background-position:-368px var(--crab-row,0px)!important}
@keyframes ggi-crab-scuttle-v700{0%,32%{background-position:-92px var(--crab-row,0px)}33%,65%{background-position:-184px var(--crab-row,0px)}66%,100%{background-position:0 var(--crab-row,0px)}}

/* Island hands are rebuilt from the current skin color and remain the last foreground layer. */
.ggi-avatar-hands-overlay-v705{z-index:100!important;display:block!important;visibility:visible!important;opacity:1!important;overflow:visible!important}
.ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713{display:inline!important;visibility:visible!important;opacity:1!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713{display:none!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687{display:inline!important;visibility:visible!important;opacity:1!important}

/* The fixed canopy-shaped ground shade does not rotate; normal base-Y depth lets the canopy and shade pass over a player underneath. */
.ggi-umbrella-v697{overflow:visible!important;filter:none!important}
.ggi-umbrella-false-shadow-v713{position:absolute;z-index:1;inset:0;display:block;pointer-events:none;clip-path:inset(0 0 31% 0);transform:translateY(69px) scale(.88,.36);transform-origin:50% 69%}
.ggi-umbrella-false-shadow-v713>img{width:100%;height:100%;object-fit:contain;opacity:.25!important;filter:brightness(0) saturate(0) blur(3px)!important;mix-blend-mode:multiply}
.ggi-umbrella-canopy-v713{position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 5px rgba(0,0,0,.28))}
.ggi-umbrella-v697.color-1>.ggi-umbrella-canopy-v713{filter:hue-rotate(102deg) saturate(.92) brightness(.96) drop-shadow(0 10px 5px rgba(0,0,0,.28))}
.ggi-umbrella-v697.color-2>.ggi-umbrella-canopy-v713{filter:hue-rotate(218deg) saturate(1.05) brightness(.98) drop-shadow(0 10px 5px rgba(0,0,0,.28))}

/* Slightly larger market footprint, keeping its existing three-quarter roof angle. */
.ggi-ship-v712{width:365px!important;height:387px!important}
.ggi-ship-v712 .sign{left:94px!important;right:94px!important;bottom:127px!important;font-size:11px!important}

/* The new tall lantern-room lighthouse keeps a compact timer-driven sprite shadow anchored at its base. */
.ggi-lighthouse-v713{width:270px!important;height:405px!important;filter:none!important;overflow:visible!important}
.ggi-lighthouse-v713 .ggi-lighthouse-sprite-v709{transform:scaleX(1.22);transform-origin:50% 100%;filter:drop-shadow(0 13px 7px rgba(0,0,0,.4))}
.ggi-lighthouse-v713 .ggi-lighthouse-sun-shadow-v711{inset:auto!important;left:20px!important;bottom:5px!important;width:230px!important;height:395px!important;transform-origin:50% 100%!important;transform:rotate(var(--ggi-sun-shadow-angle)) scaleY(var(--ggi-lighthouse-shadow-length-v713)) skewX(-8deg)!important;opacity:var(--ggi-sun-shadow-opacity)!important;filter:brightness(0) saturate(0) blur(3px)!important}
.ggi-lighthouse-v713 .ggi-lighthouse-sun-shadow-v711>img{width:100%;height:100%;object-fit:contain;object-position:50% 100%;transform:scaleX(1.22);transform-origin:50% 100%;opacity:.72}
.ggi-lighthouse-v713 .beam{left:135px!important;top:126px!important;width:330px!important;height:62px!important}
.ggi-lighthouse-v713 .ggi-lighthouse-glow-v709{left:92px!important;top:117px!important;width:86px!important;height:68px!important}

@media(prefers-reduced-motion:reduce){.ggi-chicken-v699.walking:not(.facing-back) .ggi-chicken-sprite-v699,.ggi-chicken-v699.walking.facing-back .ggi-chicken-sprite-v699{background-position:-84px -84px}.ggi-chicken-v699.peck .ggi-chicken-sprite-v699{background-position:-84px 0}.ggi-chicken-v699.carried .ggi-chicken-sprite-v699,.ggi-carried-chicken-sprite-v705{background-position:-84px -168px!important}.ggi-crab-v700.walking .ggi-crab-sprite-v700{background-position:-92px var(--crab-row,0px)}}

/* v714 — fixed right tools, a door-sized lighthouse target, restored beacon wash, and layered fire sprites. */
.gg-island-tool-dock-v689,.gg-island-tool-dock-v689[data-drawer-x="left"],.gg-island-tool-dock-v689[data-drawer-x="right"]{left:auto!important;right:max(7px,env(safe-area-inset-right))!important}
.ggi-tool-tabs-v710,.gg-island-tool-dock-v689[data-drawer-x] .ggi-tool-tabs-v710{align-items:flex-end!important}

/* The tower art never captures taps. Only this compact door/base control is interactive. */
.ggi-lighthouse-v714{pointer-events:none!important;background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important}
.ggi-lighthouse-v714 .ggi-lighthouse-sprite-v709,.ggi-lighthouse-v714 .ggi-lighthouse-sun-shadow-v711,.ggi-lighthouse-v714 .beam,.ggi-lighthouse-v714 .ggi-lighthouse-glow-v709{pointer-events:none!important}
.ggi-lighthouse-hit-v714{position:absolute;z-index:8;left:89px;bottom:0;width:92px;height:105px;display:block;padding:0;border:0;border-radius:46% 46% 14px 14px;background:transparent;box-shadow:none!important;outline:0;appearance:none;-webkit-appearance:none;touch-action:manipulation}
.ggi-lighthouse-hit-v714:active{filter:none!important;box-shadow:none!important;transform:none!important}
.ggi-lighthouse-hit-v714:focus-visible{box-shadow:0 0 0 3px #ffe273,0 0 14px rgba(255,210,70,.8)!important}
.ggi-lighthouse-v714.ggi-nearby-interaction-v708,.ggi-lighthouse-hit-v714.ggi-nearby-interaction-v708{border-radius:0!important;box-shadow:none!important;animation:none!important}

/* One visible cone rotates from the lantern in the existing island RAF. */
.ggi-lighthouse-v714 .beam{left:135px!important;top:126px!important;width:470px!important;height:88px!important;transform-origin:0 50%!important;animation:none!important;will-change:transform;clip-path:polygon(0 44%,100% 3%,100% 97%,0 56%)!important;background:linear-gradient(90deg,rgba(255,249,192,.94) 0,rgba(255,228,118,.55) 18%,rgba(255,220,101,.23) 58%,rgba(255,225,130,0) 100%)!important;filter:blur(.35px) drop-shadow(0 0 7px rgba(255,218,88,.34))!important;mix-blend-mode:screen;opacity:var(--ggi-beam-opacity-v714,.38)!important}
.ggi-lighthouse-v714 .beam:after{content:"";position:absolute;left:0;right:13%;top:41%;height:18%;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,224,.9),rgba(255,229,122,.22),transparent);filter:blur(2px)}
.ggi-beacon-flash-v714{--ggi-beacon-flash-v714:0;position:absolute;z-index:9048;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,rgba(255,253,226,.94) 0,rgba(255,235,151,.54) 31%,rgba(255,224,122,0) 74%);mix-blend-mode:screen;opacity:var(--ggi-beacon-flash-v714);transition:opacity 55ms linear}

@media(prefers-reduced-motion:reduce){.ggi-beacon-flash-v714{transition:none}}

/* v715 — foreground lighthouse beam, true fire frames, shallow-water finds, and tropical Salon art. */
.ggi-lighthouse-v714 .beam.ggi-beam-forward-v715{z-index:6!important}
.ggi-lighthouse-window-lights-v715{position:absolute;z-index:5;inset:0;display:block;pointer-events:none;opacity:0;transition:opacity .8s ease}
.ggi-lighthouse-window-lights-v715 i{position:absolute;width:15px;height:21px;border-radius:48% 48% 34% 34%;background:radial-gradient(circle,#fffbd4 0 22%,#ffd657 42%,rgba(255,183,40,.26) 70%,transparent 72%);filter:drop-shadow(0 0 8px #ffd550) drop-shadow(0 0 15px rgba(255,175,38,.7));mix-blend-mode:screen}
.ggi-lighthouse-window-lights-v715 i:nth-child(1){left:84px;top:246px}.ggi-lighthouse-window-lights-v715 i:nth-child(2){left:128px;top:253px}.ggi-lighthouse-window-lights-v715 i:nth-child(3){left:174px;top:246px}
body.ggi-island-night-v715 .ggi-lighthouse-window-lights-v715{opacity:.92}

.ggi-goldie-salon-v715{width:310px!important;height:322px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;color:#19130d!important;filter:drop-shadow(0 13px 8px rgba(42,26,17,.42));transform-origin:50% 100%}
.ggi-goldie-salon-sprite-v715{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%;pointer-events:none;-webkit-user-drag:none;transition:filter .45s ease}
.ggi-goldie-sign-v715{position:absolute!important;z-index:4!important;left:95px!important;top:119px!important;width:120px;padding:0!important;color:#25170e!important;font:950 8.5px/1.1 Georgia,serif!important;letter-spacing:.025em!important;text-align:center!important;text-shadow:0 1px rgba(255,225,144,.48);white-space:nowrap;pointer-events:none}
.ggi-goldie-salon-v715[data-salon-style="gothic"] .ggi-goldie-salon-sprite-v715{filter:hue-rotate(198deg) saturate(.72) brightness(.78)}
.ggi-goldie-salon-v715[data-salon-style="gremlin"] .ggi-goldie-salon-sprite-v715{filter:hue-rotate(62deg) saturate(.96) brightness(.9)}

.ggi-building-windows-v715{position:absolute!important;z-index:3!important;inset:0;display:block;opacity:0;pointer-events:none!important;transition:opacity .8s ease}
.ggi-building-windows-v715>i{position:absolute!important;display:block;width:18px;height:22px;border-radius:50%;background:radial-gradient(circle,#fff8c9 0 20%,#ffd14f 43%,rgba(255,177,37,.32) 68%,transparent 72%);filter:drop-shadow(0 0 7px #ffd34d) drop-shadow(0 0 15px rgba(255,159,28,.68));mix-blend-mode:screen}
body.ggi-island-night-v715 .ggi-building-windows-v715{opacity:.96}
.ggi-building-windows-v715.workshop>i:nth-child(1){left:34px;top:63px}.ggi-building-windows-v715.workshop>i:nth-child(2){right:34px;top:63px}
.ggi-building-windows-v715.home>i:nth-child(1){left:26px;top:78px}.ggi-building-windows-v715.home>i:nth-child(2){right:26px;top:78px}
.ggi-building-windows-v715.salon>i:nth-child(1){left:64px;top:177px}.ggi-building-windows-v715.salon>i:nth-child(2){left:148px;top:190px}.ggi-building-windows-v715.salon>i:nth-child(3){right:64px;top:184px}
.ggi-building-windows-v715.ship>i:nth-child(1){left:174px;top:90px}.ggi-building-windows-v715.ship>i:nth-child(2){left:146px;top:140px}.ggi-building-windows-v715.ship>i:nth-child(3){left:205px;top:140px}.ggi-building-windows-v715.ship>i:nth-child(4){left:252px;top:145px}.ggi-building-windows-v715.ship>i:nth-child(5){left:277px;top:214px}.ggi-building-windows-v715.ship>i:nth-child(6){left:120px;top:300px}
body.ggi-island-night-v715 .ggi-goldie-salon-sprite-v715,body.ggi-island-night-v715 .ggi-shipwreck-sprite-v712{filter:brightness(.86) saturate(.92)}
body.ggi-island-night-v715 .ggi-goldie-salon-v715[data-salon-style="gothic"] .ggi-goldie-salon-sprite-v715{filter:hue-rotate(198deg) saturate(.65) brightness(.7)}
body.ggi-island-night-v715 .ggi-goldie-salon-v715[data-salon-style="gremlin"] .ggi-goldie-salon-sprite-v715{filter:hue-rotate(62deg) saturate(.9) brightness(.78)}

.ggi-chicken-v699.plucking-v715 .chicken-motion{animation:ggi-chicken-pluck-body-v715 .24s ease-in-out 4 alternate!important;transform-origin:50% 82%}
.ggi-chicken-v699.plucking-v715 .ggi-chicken-sprite-v699{animation:ggi-chicken-pluck-sprite-v715 .92s steps(1,end) infinite!important}
@keyframes ggi-chicken-pluck-body-v715{from{translate:-2px 0;rotate:-4deg}to{translate:3px -3px;rotate:5deg}}
@keyframes ggi-chicken-pluck-sprite-v715{0%,20%{background-position:-84px -168px}21%,45%{background-position:0 -168px}46%,69%{background-position:-168px -168px}70%,100%{background-position:-84px -168px}}

.ggi-equipped-tool-v690[data-tool="fishingRod"]{left:36%!important;top:34%!important}
.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:23%!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:36%!important}
.gg-island-avatar-v682.ggi-live-cast-v715 .ggi-equipped-rod-line-v715{display:none!important}

.ggi-clam-v715{position:absolute;left:var(--x);top:var(--y);z-index:3000;width:78px;height:104px;padding:0;border:0;background:transparent;transform:translate(-50%,-68%);transform-origin:50% 82%;pointer-events:auto;touch-action:manipulation;filter:hue-rotate(var(--clam-hue,0deg)) drop-shadow(0 7px 4px rgba(20,61,68,.38))}
.ggi-clam-v715[hidden]{display:none!important}
.ggi-clam-motion-v715{position:absolute;inset:0;display:block;background-image:url("island-clam-sprites-v715.v747.webp");background-repeat:no-repeat;background-size:400% 100%;background-position:0 50%;animation:ggi-clam-open-v715 4.4s steps(1,end) infinite}
@keyframes ggi-clam-open-v715{0%,59%{background-position:0 50%}60%,68%{background-position:33.333% 50%}69%,82%{background-position:66.666% 50%}83%,91%{background-position:100% 50%}92%,100%{background-position:0 50%}}
.ggi-clam-v715.collecting{pointer-events:none;animation:ggi-clam-collect-v715 .42s ease-in forwards!important}
@keyframes ggi-clam-collect-v715{to{translate:0 -38px;scale:.2;rotate:18deg;opacity:0}}
.ggi-clam-v715.ggi-nearby-interaction-v708 .ggi-clam-motion-v715{filter:drop-shadow(0 0 2px #fff9c8) drop-shadow(0 0 8px #ffd75b)}
.gg-island-inventory-count-v687.clams{background:linear-gradient(145deg,#f4d4df,#b9799b);border-color:#70415d}

@media(prefers-reduced-motion:reduce){.ggi-chicken-v699.plucking-v715 .chicken-motion,.ggi-chicken-v699.plucking-v715 .ggi-chicken-sprite-v699,.ggi-clam-motion-v715{animation:none!important}.ggi-chicken-v699.plucking-v715 .ggi-chicken-sprite-v699{background-position:-168px 0!important}.ggi-clam-motion-v715{background-position:66.666% 50%!important}}

/* v716 — flashlight haunt, pink-tree torch quest, four flame tikis, pier, bamboo, and surfboards. */
.ggi-tool-sprite-v716{display:block;width:100%;height:100%;background-image:url("island-torch-tiki-atlas-v716.v747.webp");background-repeat:no-repeat;background-size:400% 600%;background-position-y:0;filter:drop-shadow(0 3px 2px rgba(28,18,24,.34))}
.ggi-tool-sprite-v716.flashlight{background-position:0 0}.ggi-tool-sprite-v716.stick{background-position:33.333% 0}.ggi-tool-sprite-v716.torch{background-position:66.666% 0;filter:drop-shadow(0 0 7px rgba(255,119,35,.8))}.ggi-tool-sprite-v716.smoke{background-position:100% 0;filter:drop-shadow(0 3px 2px rgba(28,18,24,.34)) grayscale(.2)}
.ggi-tool-art-v690 .ggi-tool-sprite-v716{width:48px;height:48px;margin:-3px}
.ggi-equipped-tool-v690[data-tool="flashlight"],.ggi-equipped-tool-v690[data-tool="stick"]{left:43%!important;top:37%!important;width:76px!important;height:76px!important;transform:rotate(-10deg)!important;z-index:84!important}
.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690:is([data-tool="flashlight"],[data-tool="stick"]){left:10%!important;transform:scaleX(-1) rotate(-10deg)!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="flashlight"]{left:38%!important;opacity:1!important;z-index:35!important}
.ggi-equipped-tool-v690[data-tool="stick"][data-tool-state="torch"]:after{content:"";position:absolute;left:29px;top:-7px;width:5px;height:5px;border-radius:50%;background:#ffc967;box-shadow:9px -12px #ff7a37,-7px -20px #ef5345,4px -31px #ffd981;animation:ggi-equipped-ash-v716 1.25s ease-out infinite}
.ggi-equipped-tool-v690[data-tool="stick"][data-tool-state="smoke"]:after{content:"";position:absolute;left:23px;top:-4px;width:16px;height:23px;border-radius:50%;background:rgba(178,185,183,.48);filter:blur(5px);animation:ggi-wet-stick-smoke-v716 1.5s ease-out infinite}
@keyframes ggi-equipped-ash-v716{to{translate:5px -28px;scale:.2;opacity:0}}@keyframes ggi-wet-stick-smoke-v716{to{translate:7px -31px;scale:1.7;opacity:0}}

.ggi-flashlight-beam-v716{position:absolute;left:0;top:0;width:690px;height:260px;margin-top:-130px;transform-origin:0 50%;pointer-events:none;opacity:0;visibility:hidden;clip-path:polygon(0 46%,100% 3%,100% 97%,0 54%);background:linear-gradient(90deg,rgba(255,250,200,.86),rgba(255,237,145,.33) 30%,rgba(219,245,226,.13) 69%,transparent);filter:blur(.35px) drop-shadow(0 0 8px rgba(255,241,173,.38));mix-blend-mode:screen;transition:opacity .16s linear,visibility .16s linear}
.ggi-flashlight-beam-v716.active{opacity:.76;visibility:visible}.ggi-flashlight-beam-v716>i{position:absolute;left:0;right:12%;top:47%;height:6%;border-radius:999px;background:linear-gradient(90deg,#fffbd8,rgba(255,238,144,.3),transparent);filter:blur(2px)}
.ggi-paranormal-ghost-v716{position:absolute;left:var(--x);top:var(--y);z-index:8706!important;width:150px;height:150px;transform:translate(-50%,-78%);pointer-events:none;background-image:url("island-supernatural-atlas-v716.v747.webp");background-repeat:no-repeat;background-size:400% 300%;background-position:0 100%;filter:drop-shadow(0 0 10px rgba(193,241,239,.75));mix-blend-mode:screen;animation:ggi-ghost-frames-v716 1.2s steps(1,end) infinite,ggi-ghost-float-v716 2.7s ease-in-out infinite alternate}
.ggi-paranormal-ghost-v716.ghost-1{animation-delay:-.36s,-1.2s}.ggi-paranormal-ghost-v716.ghost-2{animation-delay:-.72s,-2s}
@keyframes ggi-ghost-frames-v716{0%,23%{background-position:0 100%}24%,48%{background-position:33.333% 100%}49%,73%{background-position:66.666% 100%}74%,100%{background-position:100% 100%}}
@keyframes ggi-ghost-float-v716{from{translate:0 -3px;rotate:-2deg}to{translate:0 10px;rotate:2deg}}

.ggi-lantern-pier-v716{position:absolute;left:var(--x);top:var(--y);z-index:2950;width:560px;height:588px;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 14px 8px rgba(20,28,31,.44))}.ggi-lantern-pier-v716>img{display:block;width:100%;height:100%;object-fit:contain;object-position:50% 100%}
.ggi-pier-lights-v716{position:absolute;inset:0;display:block}.ggi-pier-lights-v716 i{position:absolute;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle,#fff8c5 0 17%,#ffc853 27%,rgba(255,161,41,.3) 56%,transparent 72%);filter:drop-shadow(0 0 7px rgba(255,203,84,.68));opacity:.56;animation:ggi-pier-lantern-v716 1.7s ease-in-out infinite alternate}.ggi-pier-lights-v716 i:nth-child(1){left:107px;top:80px}.ggi-pier-lights-v716 i:nth-child(2){left:174px;top:171px;animation-delay:-.4s}.ggi-pier-lights-v716 i:nth-child(3){left:229px;top:258px;animation-delay:-.8s}.ggi-pier-lights-v716 i:nth-child(4){left:300px;top:335px;animation-delay:-1.2s}.ggi-pier-lights-v716 i:nth-child(5){left:357px;top:423px;animation-delay:-.6s}.ggi-pier-lights-v716 i:nth-child(6){left:438px;top:500px;animation-delay:-1.4s}
body.ggi-island-night-v715 .ggi-pier-lights-v716 i{opacity:1;scale:1.35;filter:drop-shadow(0 0 8px #ffd260) drop-shadow(0 0 22px rgba(255,164,41,.9))}.ggi-pier-lights-v716 i:after{content:"";position:absolute;left:50%;top:63%;width:72px;height:35px;border-radius:50%;translate:-50% 0;background:radial-gradient(ellipse,rgba(255,196,82,.35),transparent 70%)}
@keyframes ggi-pier-lantern-v716{to{filter:drop-shadow(0 0 11px rgba(255,218,103,.9));scale:1.1}}

.ggi-pink-tree-v716,.ggi-bamboo-cluster-v716{position:absolute;left:var(--x);top:var(--y);z-index:var(--depth);transform:translate(-50%,-100%);pointer-events:none;overflow:visible}.ggi-pink-tree-v716{width:330px;height:330px}.ggi-bamboo-cluster-v716{width:300px;height:300px}
.ggi-pink-tree-sprite-v716,.ggi-pink-tree-shadow-v716>i,.ggi-bamboo-sprite-v716,.ggi-bamboo-shadow-v716>i{position:absolute;inset:0;display:block;background-repeat:no-repeat;animation:ggi-tree-wind-v716 2.25s steps(1,end) infinite}
.ggi-pink-tree-sprite-v716{filter:drop-shadow(0 10px 6px rgba(57,35,49,.38))}.ggi-bamboo-sprite-v716{filter:drop-shadow(0 10px 6px rgba(25,45,29,.42))}
.ggi-pink-tree-shadow-v716,.ggi-bamboo-shadow-v716{position:absolute;inset:0;display:block;transform-origin:50% 93%;transform:rotate(var(--ggi-sun-shadow-angle)) scaleY(var(--ggi-sun-shadow-length));opacity:var(--ggi-sun-shadow-opacity);filter:brightness(0) saturate(0) blur(4px)}.ggi-pink-tree-shadow-v716>i,.ggi-bamboo-shadow-v716>i{opacity:.68}
@keyframes ggi-tree-wind-v716{0%,23%{background-position:0 0}24%,48%{background-position:33.333% 0}49%,73%{background-position:66.666% 0}74%,100%{background-position:100% 0}}
@keyframes ggi-bamboo-wind-v716{0%,23%{background-position:0 50%}24%,48%{background-position:33.333% 50%}49%,73%{background-position:66.666% 50%}74%,100%{background-position:100% 50%}}
.ggi-bamboo-cluster-v716.bad-guy-emerge{animation:ggi-bamboo-emerge-v716 .42s ease-in-out 3}.ggi-bamboo-cluster-v716.bad-guy-emerge .ggi-bamboo-sprite-v716{animation-duration:.3s}@keyframes ggi-bamboo-emerge-v716{25%{translate:-10px 0;rotate:-2deg}75%{translate:10px 0;rotate:2deg}}
.ggi-tree-petals-v716{position:absolute;inset:0}.ggi-tree-petals-v716 i{position:absolute;left:42%;top:22%;width:8px;height:5px;border-radius:80% 10% 80% 10%;background:#ff9fc9;animation:ggi-petal-fall-v716 3.6s ease-in infinite}.ggi-tree-petals-v716 i:nth-child(2){left:58%;top:31%;animation-delay:-1.1s}.ggi-tree-petals-v716 i:nth-child(3){left:29%;top:27%;animation-delay:-2.4s}.ggi-tree-petals-v716 i:nth-child(4){left:68%;top:17%;animation-delay:-3s}@keyframes ggi-petal-fall-v716{to{translate:55px 150px;rotate:300deg;opacity:0}}

.ggi-surfboard-v716{position:absolute;left:var(--x);top:var(--y);z-index:var(--depth);width:88px;height:214px;transform:translate(-50%,-88%) rotate(var(--board-tilt,-8deg));transform-origin:50% 88%;pointer-events:none}.ggi-surfboard-v716.variant-1{--board-tilt:9deg}
.ggi-surfboard-sprite-v716,.ggi-surfboard-shadow-v716>i{position:absolute;inset:0;display:block;background-image:url("island-surfboards-v716.v747.webp");background-repeat:no-repeat;background-size:200% 100%;background-position:0 50%}.ggi-surfboard-v716.variant-1 :is(.ggi-surfboard-sprite-v716,.ggi-surfboard-shadow-v716>i){background-position:100% 50%}.ggi-surfboard-sprite-v716{filter:drop-shadow(0 7px 4px rgba(50,31,26,.35))}
.ggi-surfboard-shadow-v716{position:absolute;inset:0;display:block;transform-origin:50% 88%;transform:rotate(var(--ggi-sun-shadow-angle)) scaleY(calc(var(--ggi-sun-shadow-length) * .68));opacity:var(--ggi-sun-shadow-opacity);filter:brightness(0) saturate(0) blur(3px)}.ggi-surfboard-shadow-v716>i{opacity:.72}

.ggi-tree-stick-v716{position:absolute;left:var(--x);top:var(--y);z-index:var(--depth,3700);width:88px;height:88px;padding:0;border:0;background:transparent;transform:translate(-50%,-65%);pointer-events:auto;touch-action:manipulation;filter:drop-shadow(0 5px 3px rgba(52,34,26,.4))}.ggi-tree-stick-v716>span{display:block;width:100%;height:100%}.ggi-tree-stick-v716.falling{animation:ggi-stick-fall-v716 .68s cubic-bezier(.2,.7,.26,1) both}.ggi-tree-stick-v716.spare{opacity:.72}.ggi-tree-stick-v716.collecting{pointer-events:none;animation:ggi-stick-collect-v716 .46s ease-in forwards}
@keyframes ggi-stick-fall-v716{from{translate:0 -145px;rotate:-22deg;opacity:.2}65%{translate:0 7px;rotate:7deg;opacity:1}to{translate:0 0;rotate:0}}@keyframes ggi-stick-collect-v716{to{translate:0 -45px;scale:.2;rotate:28deg;opacity:0}}

.ggi-gremlin-tiki-v712.ggi-fire-tiki-v716{padding:0;border:0;border-radius:0;background:none!important;box-shadow:none!important;pointer-events:auto!important;overflow:visible;animation:none!important;appearance:none;-webkit-appearance:none;touch-action:manipulation}.ggi-tiki-unlit-v716{position:absolute;left:0;top:0;width:105px;height:138px;background-image:url("island-gremlin-tiki-atlas-v712.v747.webp");background-repeat:no-repeat;background-position:50% 0!important;background-size:auto 276px;animation:none!important}
.ggi-tiki-flame-v716{position:absolute;display:none}
.ggi-fire-tiki-v716.lit .ggi-tiki-flame-v716,.ggi-fire-tiki-v716.lit .ggi-tiki-ground-glow-v716,.ggi-fire-tiki-v716.lit .ggi-flame-ash-v716{display:block}.ggi-tiki-ground-glow-v716{position:absolute;display:none;left:-28px;bottom:-20px;width:162px;height:66px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,75,41,.44),transparent 68%);mix-blend-mode:screen;animation:ggi-tiki-glow-v716 1s ease-in-out infinite alternate}.ggi-fire-tiki-v716[data-flame-color="green"] .ggi-tiki-ground-glow-v716{background:radial-gradient(ellipse,rgba(75,255,111,.42),transparent 68%)}.ggi-fire-tiki-v716[data-flame-color="blue"] .ggi-tiki-ground-glow-v716{background:radial-gradient(ellipse,rgba(63,166,255,.45),transparent 68%)}.ggi-fire-tiki-v716[data-flame-color="purple"] .ggi-tiki-ground-glow-v716{background:radial-gradient(ellipse,rgba(191,80,255,.46),transparent 68%)}
@keyframes ggi-tiki-glow-v716{to{scale:1.14;opacity:.68}}
.ggi-flame-ash-v716{position:absolute;display:none;left:44px;top:8px;width:12px;height:12px;pointer-events:none}.ggi-flame-ash-v716 i,.ggi-fire-ash-v716 i{position:absolute;width:4px;height:4px;border-radius:50%;background:#ffcd68;animation:ggi-fire-ash-float-v716 1.7s ease-out infinite}.ggi-flame-ash-v716 i:nth-child(2),.ggi-fire-ash-v716 i:nth-child(2){animation-delay:-.4s;left:14px}.ggi-flame-ash-v716 i:nth-child(3),.ggi-fire-ash-v716 i:nth-child(3){animation-delay:-.9s;left:-10px}.ggi-flame-ash-v716 i:nth-child(4),.ggi-fire-ash-v716 i:nth-child(4){animation-delay:-1.3s;left:7px}
.ggi-fire-ash-v716{position:absolute;z-index:5;left:83px;bottom:103px;width:14px;height:14px;pointer-events:none}.ggi-fire-smoke-v716{position:absolute;z-index:4;left:62px;bottom:118px;width:56px;height:92px;pointer-events:none;opacity:.14}.ggi-fire-smoke-v716 i{position:absolute;bottom:0;width:30px;height:43px;border-radius:50%;background:rgba(145,151,146,.48);filter:blur(9px);animation:ggi-fire-smoke-rise-v716 2.2s ease-out infinite}.ggi-fire-smoke-v716 i:nth-child(2){left:17px;animation-delay:-.8s}.ggi-fire-smoke-v716 i:nth-child(3){left:-8px;animation-delay:-1.5s}
@keyframes ggi-fire-ash-float-v716{to{translate:16px -96px;scale:.15;opacity:0}}@keyframes ggi-fire-smoke-rise-v716{to{translate:14px -92px;scale:1.8;opacity:0}}
.gg-island-world-v682[data-weather="rain"] .ggi-fire-smoke-v716{opacity:.9}

body.ggi-lite-mode-v708 .ggi-paranormal-ghost-v716.ghost-2,body.ggi-lite-mode-v708 .ggi-tree-petals-v716 i:nth-child(n+3),body.ggi-lite-mode-v708 .ggi-flame-ash-v716 i:nth-child(n+3),body.ggi-lite-mode-v708 .ggi-fire-ash-v716 i:nth-child(n+3){display:none!important}body.ggi-lite-mode-v708 :is(.ggi-pink-tree-sprite-v716,.ggi-bamboo-sprite-v716,.ggi-tiki-flame-v716){animation-duration:1.45s!important}
@media(prefers-reduced-motion:reduce){.ggi-tool-sprite-v716,.ggi-paranormal-ghost-v716,.ggi-pier-lights-v716 i,.ggi-pink-tree-sprite-v716,.ggi-pink-tree-shadow-v716>i,.ggi-bamboo-sprite-v716,.ggi-bamboo-shadow-v716>i,.ggi-tree-petals-v716 i,.ggi-tiki-unlit-v716,.ggi-tiki-ground-glow-v716,.ggi-flame-ash-v716 i,.ggi-fire-ash-v716 i,.ggi-fire-smoke-v716 i,.ggi-equipped-tool-v690:after{animation:none!important}.ggi-pink-tree-sprite-v716,.ggi-pink-tree-shadow-v716>i{background-position:33.333% 0}.ggi-bamboo-sprite-v716,.ggi-bamboo-shadow-v716>i{background-position:33.333% 50%}.ggi-paranormal-ghost-v716{background-position:33.333% 100%}}

/* v716 — collision/readability, fire states, excavation, and mobile performance polish. */
.ggi-moonlight-layer-v710{display:none!important}
.gg-island-night-v687{background:radial-gradient(circle at 72% 9%,rgba(171,210,255,.17),transparent 22%),linear-gradient(rgba(8,18,48,.47),rgba(3,20,40,.54))!important}
.ggi-island-weather-v706[data-weather="rain"]{opacity:0!important;background:none!important;animation:none!important}
.ggi-building-windows-v715>i,body.ggi-island-night-v715 .ggi-lighthouse-window-lights-v715 i{filter:drop-shadow(0 0 8px #ffd34d) drop-shadow(0 0 23px rgba(255,159,28,.92))!important}
body.ggi-island-night-v715 .ggi-flightbug-v702{filter:drop-shadow(0 0 8px #fff36e) drop-shadow(0 0 20px rgba(180,255,120,.88))!important}

.ggi-fire-ground-v716{position:absolute;z-index:0;left:-40px;bottom:-29px;width:260px;height:145px;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,rgba(69,42,23,.68) 0 17%,rgba(111,71,34,.7) 18% 38%,rgba(151,104,50,.6) 52%,rgba(142,96,45,.22) 70%,transparent 74%),repeating-radial-gradient(ellipse at 50% 50%,rgba(48,30,18,.24) 0 2px,transparent 3px 12px);filter:blur(.15px);transform:scaleY(.63)}
@keyframes ggi-fire-ground-pulse-v716{to{opacity:.82;scale:1.08}}
.ggi-chicken-burn-v716{position:absolute;inset:-10px;display:none;background-image:url("island-fire-chicken-burrow-atlas-v716.v747.webp");background-repeat:no-repeat;background-size:400% 400%;background-position:0 33.333%;filter:drop-shadow(0 0 10px rgba(255,91,23,.8));animation:ggi-burning-chicken-frames-v716 .6s steps(1,end) infinite}
.ggi-chicken-v699.burning-v716{width:104px;height:104px;pointer-events:none}.ggi-chicken-v699.burning-v716 .chicken-motion{display:none}.ggi-chicken-v699.burning-v716 .ggi-chicken-burn-v716{display:block}
@keyframes ggi-burning-chicken-frames-v716{0%,23%{background-position:0 33.333%}24%,48%{background-position:33.333% 33.333%}49%,73%{background-position:66.666% 33.333%}74%,100%{background-position:100% 33.333%}}
.ggi-chicken-zzz-v716{position:absolute;display:none;left:53px;top:-21px;width:52px;height:52px;pointer-events:none;color:#eef7ff;font:950 19px/1 system-ui;text-shadow:0 2px 1px #433e69,0 0 8px #d9edff}.ggi-chicken-v699.sleeping .ggi-chicken-zzz-v716{display:block}.ggi-chicken-zzz-v716 i{position:absolute;left:0;bottom:0;font-style:normal;animation:ggi-chicken-zzz-rise-v716 2.1s ease-out infinite}.ggi-chicken-zzz-v716 i:nth-child(2){left:17px;animation-delay:-.72s;font-size:15px}.ggi-chicken-zzz-v716 i:nth-child(3){left:31px;animation-delay:-1.4s;font-size:11px}@keyframes ggi-chicken-zzz-rise-v716{to{translate:14px -48px;scale:.7;opacity:0}}
.ggi-chicken-leg-v716{position:absolute;left:var(--x);top:var(--y);z-index:4100;width:74px;height:74px;padding:0;border:0;background:transparent;transform:translate(-50%,-70%);pointer-events:auto;touch-action:manipulation;filter:drop-shadow(0 6px 4px rgba(61,36,20,.4))}.ggi-chicken-leg-v716>span{position:absolute;inset:0;background:url("island-fire-chicken-burrow-atlas-v716.v747.webp") 0 100%/400% 400% no-repeat}.ggi-chicken-leg-v716.collecting{animation:ggi-chicken-leg-collect-v716 .42s ease-in forwards}@keyframes ggi-chicken-leg-collect-v716{to{translate:0 -45px;scale:.15;rotate:25deg;opacity:0}}

.ggi-crab-v700.burrowing-v716 .ggi-crab-motion-v700{visibility:hidden}.ggi-crab-v700.burrowing-v716:after{content:"";position:absolute;left:-12px;top:-10px;width:116px;height:116px;background-image:url("island-fire-chicken-burrow-atlas-v716.v747.webp");background-repeat:no-repeat;background-size:400% 400%;background-position:0 66.666%;animation:ggi-crab-burrow-frames-v716 1.22s steps(1,end) both;filter:drop-shadow(0 5px 3px rgba(72,47,25,.4))}@keyframes ggi-crab-burrow-frames-v716{0%,23%{background-position:0 66.666%}24%,48%{background-position:33.333% 66.666%}49%,73%{background-position:66.666% 66.666%}74%,100%{background-position:100% 66.666%}}
.ggi-crab-mound-v716{position:absolute;width:96px;height:82px;pointer-events:none;background:url("island-fire-chicken-burrow-atlas-v716.v747.webp") 33.333% 100%/400% 400% no-repeat;filter:drop-shadow(0 4px 3px rgba(77,48,27,.35));animation:ggi-crab-mound-settle-v716 .5s ease-out both}@keyframes ggi-crab-mound-settle-v716{from{scale:.5;opacity:.2}to{scale:1;opacity:1}}

.ggi-clam-v715{width:58px!important;height:78px!important}
.ggi-equipment-card-v690 button:not(:disabled){border-color:#7b838d!important;background:linear-gradient(#f3f5f7,#bfc5cc 55%,#9aa2ac)!important;color:#171a1e!important;box-shadow:inset 0 1px #fff,0 2px 4px rgba(21,25,30,.3)!important}
.ggi-equipped-tool-v690[data-tool="fishingRod"]{left:41%!important;top:24%!important}.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:28%!important;top:24%!important}.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:40%!important;top:22%!important}
.gg-island-avatar-v682.ggi-rod-yank-v716 .ggi-equipped-tool-v690[data-tool="fishingRod"]{animation:ggi-rod-yank-v716 .22s cubic-bezier(.2,.8,.3,1)!important;transform-origin:24% 85%}@keyframes ggi-rod-yank-v716{45%{translate:-3px -13px;rotate:-12deg}to{translate:0 0;rotate:0}}
.ggi-golden-shovel-tool-v716{display:block;width:100%;height:100%;background:url("island-fire-chicken-burrow-atlas-v716.v747.webp") 66.666% 100%/400% 400% no-repeat;filter:drop-shadow(0 3px 3px rgba(85,52,15,.4))}.ggi-equipped-tool-v690[data-tool="goldenShovel"]{left:39%!important;top:30%!important;width:88px!important;height:88px!important;rotate:-13deg}
.gg-island-inventory-count-v687.chicken-legs{background:linear-gradient(145deg,#efb24b,#9b4924);border-color:#653018}.gg-island-inventory-count-v687.gems{background:linear-gradient(145deg,#83ecff,#b35cff 62%,#ff6cab);border-color:#513879}

.ggi-torch-ground-glow-v716{position:absolute;z-index:2940;width:380px;height:236px;border-radius:50%;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(ellipse,rgba(255,205,84,.63) 0,rgba(255,135,43,.34) 36%,rgba(255,93,30,.11) 57%,transparent 73%);mix-blend-mode:screen;filter:blur(2px);transition:opacity .18s linear}.ggi-torch-ground-glow-v716.active{opacity:.92;visibility:visible;animation:ggi-torch-ground-flicker-v716 .65s ease-in-out infinite alternate}@keyframes ggi-torch-ground-flicker-v716{to{opacity:.72;scale:1.035}}
.ggi-rain-ripples-v716{position:absolute;z-index:2925;inset:0;pointer-events:none}.ggi-rain-ripple-v716{position:absolute;display:none;opacity:0}.ggi-rain-ripple-v716.show{display:block}.ggi-rain-ripple-v716:after{content:none;display:none}

.ggi-sand-diggable-v716{pointer-events:auto!important;touch-action:manipulation;appearance:none;-webkit-appearance:none;padding:0!important}.ggi-sand-diggable-v716>span{position:absolute;right:5px;bottom:13px;padding:4px 7px;border:2px solid #6f4c20;border-radius:999px;background:#f2cf65;color:#38240f;font:950 10px/1 system-ui;letter-spacing:.06em;box-shadow:0 2px 4px rgba(62,37,14,.35)}
.ggi-sand-dig-modal-v716{position:fixed;z-index:12000;inset:0;display:grid;place-items:center;padding:max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom));background:rgba(5,10,18,.82);backdrop-filter:blur(7px)}.ggi-sand-dig-modal-v716[hidden]{display:none!important}.ggi-sand-dig-modal-v716>section{width:min(94vw,430px);max-height:94dvh;overflow:auto;padding:13px;border:2px solid #929aa5;border-radius:22px;background:linear-gradient(#38353c,#1e2026);box-shadow:0 18px 50px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.23);color:#fff}.ggi-sand-dig-modal-v716 header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.ggi-sand-dig-modal-v716 header small{color:#f2c85b;font-weight:950;letter-spacing:.12em}.ggi-sand-dig-modal-v716 h2{margin:2px 0 0;font-size:1.2rem}.ggi-sand-dig-modal-v716 header button{width:42px;height:42px;border:1px solid #8c949e;border-radius:50%;background:linear-gradient(#eef1f4,#aeb5be);color:#161a1f;font-size:1.55rem;font-weight:900}.ggi-sand-dig-stage-v716{position:relative;width:100%;aspect-ratio:6/7;overflow:hidden;border:3px solid #69502d;border-radius:18px;background:#b97c32 url("island-sand-dig-level-v716.v747.webp") center/cover no-repeat;box-shadow:inset 0 0 28px rgba(0,0,0,.48)}.ggi-sand-dig-stage-v716 canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.ggi-sand-dig-stage-v716 canvas:active{cursor:grabbing}.ggi-sand-dig-reward-v716{position:absolute;z-index:1;left:50%;top:54%;width:154px;height:176px;translate:-50% -50%;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;color:#fff9d8;text-shadow:0 2px 2px #382515,0 0 8px #f1af39}.ggi-sand-dig-reward-v716>b{padding:5px 8px;border-radius:10px;background:rgba(35,20,12,.67);font:950 13px/1.15 system-ui}.ggi-sand-dig-reward-v716.revealed{animation:ggi-dig-reward-pop-v716 .55s cubic-bezier(.2,.9,.2,1.2)}@keyframes ggi-dig-reward-pop-v716{from{scale:.2;opacity:0}to{scale:1;opacity:1}}.ggi-dig-atlas-reward-v716{width:118px;height:118px;background-image:url("island-fire-chicken-burrow-atlas-v716.v747.webp");background-size:400% 400%;background-repeat:no-repeat}.ggi-dig-atlas-reward-v716.goldenShovel{background-position:66.666% 100%}.ggi-dig-atlas-reward-v716.gem{background-position:100% 100%}.ggi-dig-starfish-v716{color:#f28c46;font-size:96px;line-height:.8;-webkit-text-stroke:4px #783723;filter:drop-shadow(0 4px 3px rgba(56,31,16,.4))}.ggi-dig-cosmetic-v716{font-size:84px;line-height:1;filter:drop-shadow(0 5px 4px rgba(56,31,16,.45))}.ggi-dig-cosmetic-v716.necklace:after{content:"";display:block;width:74px;height:33px;margin:-22px auto 0;border:8px dotted #f69a5d;border-top:0;border-radius:0 0 50% 50%}.ggi-dig-cosmetic-v716.shelltop{scale:1.28}.ggi-dig-empty-v716{width:112px;height:48px;border-radius:50%;background:radial-gradient(ellipse,#2f2017,#77512d 58%,rgba(220,168,74,.15) 71%,transparent 74%)}.ggi-sand-dig-modal-v716>section>p{margin:9px 2px;color:#e9e5dc;font-weight:800;text-align:center}.ggi-sand-dig-modal-v716 #ggIslandSandDigDoneV716{width:100%;min-height:46px;border:1px solid #8d949d;border-radius:12px;background:linear-gradient(#f5f6f7,#aeb5bd);color:#15191e;font-weight:950}.ggi-market-balance-v716{display:block;width:max-content;margin:4px auto 7px;padding:6px 12px;border:1px solid #888f98;border-radius:999px;background:linear-gradient(#f3f5f6,#b6bdc5);color:#171a1f;font:950 .8rem/1 system-ui;letter-spacing:.08em;box-shadow:inset 0 1px #fff,0 3px 7px rgba(0,0,0,.25)}

@media(max-width:700px){.ggi-fire-ground-v716{filter:none}.ggi-fire-smoke-v716 i:nth-child(n+3),.ggi-fire-ash-v716 i:nth-child(n+4){display:none}}
@media(prefers-reduced-motion:reduce){.ggi-chicken-burn-v716,.ggi-chicken-zzz-v716 i,.ggi-crab-v700.burrowing-v716:after,.ggi-crab-mound-v716,.ggi-rod-yank-v716 .ggi-equipped-tool-v690,.ggi-torch-ground-glow-v716{animation:none!important}}

/* v717 — first bamboo-grove bad guy and lower-cost held-finger repathing. */
.ggi-bamboo-bandit-v717{position:absolute;left:0;top:0;width:144px;height:144px;display:block;padding:0;border:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:auto;touch-action:manipulation;transform-origin:50% 92%;will-change:transform;filter:drop-shadow(0 8px 5px rgba(20,29,17,.46))}
.ggi-bamboo-bandit-v717[hidden]{display:none!important}.ggi-bamboo-bandit-v717:focus-visible{outline:4px solid #ffe073;outline-offset:2px;border-radius:50%}
.ggi-bamboo-bandit-motion-v717{position:absolute;inset:0;display:block;background-image:url("island-bamboo-bandit-atlas-v717.v747.webp");background-repeat:no-repeat;background-size:400% 300%;background-position:0 0;transform-origin:50% 88%}
.ggi-bamboo-bandit-v717.facing-left .ggi-bamboo-bandit-motion-v717{scale:-1 1}
.ggi-bamboo-bandit-v717.emerging .ggi-bamboo-bandit-motion-v717{animation:ggi-bandit-emerge-v717 .96s steps(1,end) 1 both}
.ggi-bamboo-bandit-v717.hunting .ggi-bamboo-bandit-motion-v717{background-position:0 50%;animation:ggi-bandit-hunt-v717 .58s steps(1,end) infinite}
.ggi-bamboo-bandit-v717.repelled .ggi-bamboo-bandit-motion-v717{background-position:0 100%;animation:ggi-bandit-repel-v717 .72s steps(1,end) infinite}
@keyframes ggi-bandit-emerge-v717{0%,23%{background-position:0 0}24%,48%{background-position:33.333% 0}49%,73%{background-position:66.666% 0}74%,100%{background-position:100% 0}}
@keyframes ggi-bandit-hunt-v717{0%,23%{background-position:0 50%}24%,48%{background-position:33.333% 50%}49%,73%{background-position:66.666% 50%}74%,100%{background-position:100% 50%}}
@keyframes ggi-bandit-repel-v717{0%,23%{background-position:0 100%}24%,48%{background-position:33.333% 100%}49%,73%{background-position:66.666% 100%}74%,100%{background-position:100% 100%}}
.gg-island-avatar-v682.ggi-bandit-startled-v717{animation:ggi-bandit-startle-player-v717 .5s ease-out!important}@keyframes ggi-bandit-startle-player-v717{18%{translate:-11px 0;rotate:-4deg}38%{translate:10px -4px;rotate:4deg}58%{translate:-7px 0;rotate:-2deg}80%{translate:4px 0;rotate:1deg}}
body.ggi-lite-mode-v708 .ggi-bamboo-bandit-v717{filter:drop-shadow(0 5px 3px rgba(20,29,17,.38))}body.ggi-lite-mode-v708 .ggi-bamboo-bandit-v717.hunting .ggi-bamboo-bandit-motion-v717{animation-duration:.76s}
@media(max-width:700px){.ggi-bamboo-bandit-v717{width:134px;height:134px}}
@media(prefers-reduced-motion:reduce){.ggi-bamboo-bandit-motion-v717,.gg-island-avatar-v682.ggi-bandit-startled-v717{animation:none!important}.ggi-bamboo-bandit-v717.emerging .ggi-bamboo-bandit-motion-v717{background-position:100% 0}.ggi-bamboo-bandit-v717.hunting .ggi-bamboo-bandit-motion-v717{background-position:33.333% 50%}.ggi-bamboo-bandit-v717.repelled .ggi-bamboo-bandit-motion-v717{background-position:66.666% 100%}}

/* v719 — one coordinate registry, localized hit targets, stable sprite bases, and feet-depth layering. */
.ggi-world-object-v719{position:absolute;left:var(--x);top:var(--y);z-index:var(--depth);transform:translate(-50%,-100%);transform-origin:50% 100%;pointer-events:none;isolation:isolate}
.ggi-goldie-salon-scene-v719{width:310px!important;height:322px!important;filter:drop-shadow(0 13px 8px rgba(42,26,17,.42));-webkit-tap-highlight-color:transparent}
.ggi-object-hit-v719{position:absolute;z-index:12;display:block;padding:0!important;margin:0;border:0!important;background:transparent!important;color:transparent!important;box-shadow:none!important;filter:none!important;appearance:none;-webkit-appearance:none;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.ggi-object-hit-v719:active{background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important}
.ggi-object-hit-v719:focus-visible{outline:4px solid rgba(255,231,132,.92)!important;outline-offset:2px}
.ggi-salon-hit-v719{left:103px;top:144px;width:104px;height:168px;border-radius:42% 42% 18% 18%!important}

.ggi-firepit-v719{width:200px;height:240px;filter:drop-shadow(0 10px 6px rgba(41,23,17,.34))}
.ggi-firepit-v719 .ggi-fire-ground-v716{left:-30px;bottom:-28px;width:260px;height:145px}
.ggi-firepit-v719:after{content:"";position:absolute;z-index:1;left:-44px;bottom:-25px;width:288px;height:126px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,130,36,.35),rgba(255,87,25,.13) 42%,transparent 70%);mix-blend-mode:screen;pointer-events:none;opacity:.58;animation:ggi-fire-ground-pulse-v716 .74s ease-in-out infinite alternate}
.ggi-firepit-v719 .ggi-fire-smoke-v716{left:72px;bottom:118px}.ggi-firepit-v719 .ggi-fire-ash-v716{left:93px;bottom:103px}
.ggi-fire-hit-v719{left:13px;bottom:-4px;width:174px;height:84px;border-radius:50%!important}
body:not(.gg-island-roaming-v682) .ggi-firepit-v719:after{animation-play-state:paused!important}

.ggi-pink-tree-sprite-v716,.ggi-pink-tree-shadow-v716>i{background-image:url("island-pink-tree-v719.v747.webp")!important;background-size:100% 100%!important;background-position:50% 50%!important;animation:none!important}
.ggi-pink-tree-sprite-v716{transform-origin:43% 96%;animation:none!important;transform:none!important}
.ggi-bamboo-sprite-v716,.ggi-bamboo-shadow-v716>i{background-image:url("island-bamboo-v719.v747.webp")!important;background-size:100% 100%!important;background-position:50% 50%!important;animation:none!important}
.ggi-bamboo-sprite-v716{transform-origin:50% 97%;animation:ggi-bamboo-sway-v719 2.6s ease-in-out infinite alternate!important}
@keyframes ggi-bamboo-sway-v719{from{transform:translateX(-2px) skewX(-.35deg)}to{transform:translateX(2px) skewX(.45deg)}}
body:not(.gg-island-roaming-v682) .ggi-bamboo-sprite-v716{animation-play-state:paused!important}
body.ggi-lite-mode-v708 .ggi-bamboo-sprite-v716{animation-duration:3.5s!important}
@media(prefers-reduced-motion:reduce){.ggi-firepit-v719:after,.ggi-pink-tree-sprite-v716,.ggi-bamboo-sprite-v716{animation:none!important;transform:none!important}}

/* v720 — complete physical bases, precise market hit area, Salon occlusion, and a flame-only fire animation. */
.ggi-goldie-salon-scene-v719{transition:opacity .18s ease,filter .18s ease!important}
.ggi-goldie-salon-scene-v719.ggi-player-behind-v720{opacity:var(--ggi-occluded-alpha,.35)!important}

.ggi-market-scene-v720{pointer-events:none!important;cursor:default!important;-webkit-tap-highlight-color:transparent}
.gg-island-page-v682 .ggi-market-scene-v720:active{transform:translate(-50%,-100%)!important;filter:drop-shadow(0 13px 8px rgba(39,24,18,.42))!important}
.ggi-market-hit-v720{left:92px;top:195px;width:252px;height:189px;clip-path:polygon(0 0,70% 0,100% 25%,100% 100%,48% 100%,0 60%);-webkit-clip-path:polygon(0 0,70% 0,100% 25%,100% 100%,48% 100%,0 60%);border-radius:10px!important}
.ggi-market-hit-v720:focus-visible{clip-path:none;-webkit-clip-path:none;outline:4px solid rgba(255,231,132,.96)!important;outline-offset:-5px}

.ggi-fire-base-v720,.ggi-fire-flames-v720{position:absolute;display:block;transform:none!important;transform-origin:50% 100%;pointer-events:none}
.gg-island-world-v682[data-weather="rain"] .ggi-fire-flames-v720{filter:hue-rotate(82deg) brightness(1.02) saturate(1.15) drop-shadow(0 0 13px rgba(72,255,109,.72))!important}

/* v721 — isolated tiki/tool sprites, Avatar Home art, shared occlusion, burn states, and mobile compositing limits. */

/* Keep the stable tiki body and its full tap target anchored to one 105 × 138
   box.  The dedicated flame-only renderer is defined by the v722 authority. */
.ggi-gremlin-tiki-v712.ggi-fire-tiki-v716{
  width:105px!important;
  height:138px!important;
  overflow:visible!important;
  transform:translate(-50%,-100%)!important;
  translate:0 0!important;
  rotate:0deg!important;
  scale:1!important;
}
.ggi-gremlin-tiki-v712.ggi-fire-tiki-v716:active{
  transform:translate(-50%,-100%)!important;
  translate:0 0!important;
  rotate:0deg!important;
  scale:1!important;
  filter:drop-shadow(0 8px 5px rgba(48,30,17,.36))!important;
}
.ggi-tiki-ground-glow-v716{
  left:-13px!important;
  bottom:-13px!important;
  width:131px!important;
  height:52px!important;
}

/* The recovered stick is taller than the invalid old 256px atlas cell.  Keep
   its complete 256 × 304 canvas and animate only a clipped fire plume. */
.ggi-tool-sprite-v716:is(.stick,.torch,.smoke){
  position:relative!important;
  overflow:visible!important;
  background-image:url("island-pink-tree-stick-v721.png")!important;
  background-repeat:no-repeat!important;
  background-position:50% 50%!important;
  background-size:contain!important;
}
.ggi-tool-sprite-v716.torch{
  filter:drop-shadow(0 0 7px rgba(255,119,35,.82))!important;
}
.ggi-tool-sprite-v716.torch:before{
  content:"";
  position:absolute;
  z-index:2;
  pointer-events:none;
  filter:brightness(1.08) saturate(1.1) drop-shadow(0 0 6px rgba(255,115,24,.82));
}
.ggi-equipped-tool-v690[data-tool="stick"]{
  top:28%!important;
  width:76px!important;
  height:90px!important;
  overflow:visible!important;
}
.ggi-tool-art-v690 .ggi-tool-sprite-v716:is(.stick,.torch,.smoke){
  width:48px!important;
  height:48px!important;
  margin:-3px!important;
  background-size:contain!important;
}
.ggi-tree-stick-v716{
  width:88px!important;
  height:105px!important;
  overflow:visible!important;
  transform:translate(-50%,-71%)!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ggi-tree-stick-v716>span{
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:visible!important;
  background:url("island-pink-tree-stick-v721.png") 50% 50%/contain no-repeat!important;
}
.ggi-tree-stick-v716:active{transform:translate(-50%,-71%)!important;scale:1!important}

/* The new home art and WORLD_OBJECTS.islandHome occlusion box both use a
   320 × 296 display box ending at the physical foundation baseline. */
#ggIslandHomeV683,
.ggi-avatar-home-v721{
  width:320px!important;
  height:296px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  color:transparent!important;
  background:url("island-avatar-home-v721.v747.webp") 50% 100%/contain no-repeat!important;
  box-shadow:none!important;
  filter:drop-shadow(0 13px 8px rgba(45,27,15,.42))!important;
  transform:translate(-50%,-100%)!important;
  transform-origin:50% 100%!important;
  clip-path:polygon(29% 0,71% 0,90% 17%,98% 45%,98% 82%,75% 84%,68% 100%,32% 100%,25% 84%,2% 82%,2% 45%,10% 17%);
  -webkit-clip-path:polygon(29% 0,71% 0,90% 17%,98% 45%,98% 82%,75% 84%,68% 100%,32% 100%,25% 84%,2% 82%,2% 45%,10% 17%);
  transition:opacity .18s ease!important;
  -webkit-tap-highlight-color:transparent;
}
#ggIslandHomeV683:before,#ggIslandHomeV683:after{content:none!important;display:none!important}
#ggIslandHomeV683>:is(b,span,.ggi-building-windows-v715){visibility:hidden!important;pointer-events:none!important}
#ggIslandHomeV683:active,
.ggi-avatar-home-v721:active{
  transform:translate(-50%,-100%)!important;
  translate:0 0!important;
  rotate:0deg!important;
  scale:1!important;
  filter:drop-shadow(0 13px 8px rgba(45,27,15,.42))!important;
}
#ggIslandHomeV683:has(#ggIslandHomeHitV721){pointer-events:none!important}
#ggIslandHomeV683[data-home-style="grim"]{filter:grayscale(.18) sepia(.12) hue-rotate(225deg) brightness(.72) saturate(.78) drop-shadow(0 13px 8px rgba(27,20,31,.48))!important}
#ggIslandHomeV683[data-home-style="goldie"]{filter:sepia(.16) brightness(1.06) saturate(1.16) drop-shadow(0 13px 8px rgba(57,38,14,.42))!important}
#ggIslandHomeV683[data-home-style="gremlin"]{filter:hue-rotate(54deg) saturate(.9) brightness(.88) drop-shadow(0 13px 8px rgba(24,47,23,.46))!important}
#ggIslandHomeV683[data-home-style="grim"]:active{filter:grayscale(.18) sepia(.12) hue-rotate(225deg) brightness(.72) saturate(.78) drop-shadow(0 13px 8px rgba(27,20,31,.48))!important}
#ggIslandHomeV683[data-home-style="goldie"]:active{filter:sepia(.16) brightness(1.06) saturate(1.16) drop-shadow(0 13px 8px rgba(57,38,14,.42))!important}
#ggIslandHomeV683[data-home-style="gremlin"]:active{filter:hue-rotate(54deg) saturate(.9) brightness(.88) drop-shadow(0 13px 8px rgba(24,47,23,.46))!important}
#ggIslandHomeHitV721,
.ggi-avatar-home-hit-v721{
  position:absolute;
  z-index:12;
  left:100px;
  top:110px;
  width:120px;
  height:182px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:auto!important;
  touch-action:manipulation;
  clip-path:polygon(25% 0,75% 0,78% 53%,100% 62%,100% 100%,0 100%,0 62%,22% 53%);
  -webkit-clip-path:polygon(25% 0,75% 0,78% 53%,100% 62%,100% 100%,0 100%,0 62%,22% 53%);
}

/* One class contract now fades every large building consistently.  The old
   Salon v720 class remains accepted while JS migrates to the generic hook. */
:is(.ggi-goldie-salon-scene-v719,.ggi-market-scene-v720,#ggIslandHomeV683,.ggi-avatar-home-v721,#ggIslandGrimWorkshopV720,.ggi-waterfall-v749){
  transition:opacity .18s ease!important;
}
:is(.ggi-goldie-salon-scene-v719,.ggi-market-scene-v720,#ggIslandHomeV683,.ggi-avatar-home-v721,#ggIslandGrimWorkshopV720,.ggi-waterfall-v749):is(.ggi-player-behind-v720,.ggi-player-behind-v721,.ggi-occluded-v721){
  opacity:.35!important;
}

/* Burn-state hooks. JS owns ignition timing and persistence; CSS owns the
   healthy -> burning -> charred presentation and keeps object dimensions fixed. */
.ggi-pink-tree-v716{isolation:isolate}
.ggi-pink-tree-v716:is(.healthy-v721,.ggi-healthy-v721) .ggi-pink-tree-sprite-v716{
  background-image:url("island-pink-tree-v719.v747.webp")!important;
  opacity:1!important;
}
.ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721):after{
  content:"";
  position:absolute;
  z-index:4;
  left:5px;
  right:5px;
  bottom:6px;
  height:215px;
  border-radius:50%;
  pointer-events:none;
  opacity:.72;
  background:radial-gradient(ellipse,rgba(255,124,30,.36),rgba(255,63,15,.14) 43%,transparent 72%);
  mix-blend-mode:screen;
  animation:ggi-vegetation-glow-v721 .58s ease-in-out infinite alternate;
}
.ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-tree-petals-v716{display:none!important}
.ggi-pink-tree-v716:is(.burned-v721,.ggi-burned-v721) .ggi-pink-tree-sprite-v716,
.ggi-pink-tree-v716:is(.burned-v721,.ggi-burned-v721) .ggi-pink-tree-shadow-v716>i{
  background-image:url("island-pink-tree-charred-v721.v747.webp")!important;
  background-size:100% 100%!important;
  background-position:50% 50%!important;
  animation:none!important;
  transform:none!important;
  filter:drop-shadow(0 8px 5px rgba(26,18,16,.48))!important;
}
/* The charred 330px render ends five pixels above, and its root center sits
   three pixels left of, the healthy render.  Shift only the visible sprite;
   the separately projected shadow stays on its existing sun-angle origin. */
.ggi-pink-tree-v716:is(.burned-v721,.ggi-burned-v721) .ggi-pink-tree-sprite-v716{
  transform:translate(3px,5px)!important;
}
.ggi-pink-tree-v716:is(.burned-v721,.ggi-burned-v721) .ggi-tree-petals-v716{display:none!important}
@keyframes ggi-pink-tree-scorch-v721{
  0%{filter:brightness(1) saturate(1) drop-shadow(0 10px 6px rgba(57,35,49,.38));opacity:1}
  55%{filter:sepia(.38) saturate(.72) brightness(.82) drop-shadow(0 10px 6px rgba(57,35,49,.38));opacity:.72}
  100%{filter:grayscale(.72) sepia(.45) brightness(.52) drop-shadow(0 9px 6px rgba(35,23,20,.48));opacity:.08}
}

.ggi-flower-grass-v699{overflow:visible!important;z-index:calc(var(--depth) - 12)!important;isolation:isolate}
.ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721):before{
  content:"";
  position:absolute;
  z-index:4;
  left:19px;
  bottom:-3px;
  width:112px;
  height:130px;
  pointer-events:none;
  filter:drop-shadow(0 0 9px rgba(255,98,20,.86));
}
.ggi-flower-grass-v699:is(.burned-v721,.ggi-burned-v721) .grass-motion{opacity:0!important;animation:none!important}
.ggi-flower-grass-v699:is(.burned-v721,.ggi-burned-v721):after{
  content:"";
  position:absolute;
  z-index:1;
  left:20px;
  bottom:1px;
  width:110px;
  height:30px;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(ellipse,#2b211a 0 18%,#493124 34%,rgba(59,43,31,.54) 54%,transparent 73%);
  filter:drop-shadow(0 3px 2px rgba(22,14,11,.42));
}
@keyframes ggi-grass-scorch-v721{to{filter:grayscale(.78) sepia(.55) brightness(.42);opacity:.3}}
@keyframes ggi-vegetation-glow-v721{to{opacity:.48;scale:1.035}}

/* Flame light is stronger at night but does not alter physical art or bounds. */
body.ggi-island-night-v715 .ggi-tool-sprite-v716.torch:before{
  filter:brightness(1.15) saturate(1.14) drop-shadow(0 0 8px #ff9c31) drop-shadow(0 0 17px rgba(255,93,23,.86));
}
body.ggi-island-night-v715 .ggi-fire-tiki-v716.lit .ggi-tiki-flame-v716{
  filter:brightness(1.12) saturate(1.1) drop-shadow(0 0 10px #ff7e2f) drop-shadow(0 0 20px rgba(255,126,34,.7))!important;
}
body.ggi-island-night-v715 .ggi-fire-tiki-v716.lit .ggi-tiki-ground-glow-v716{opacity:1!important;scale:1.08}
body.ggi-island-night-v715 .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721):before,
body.ggi-island-night-v715 .ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721):before{
  filter:brightness(1.13) saturate(1.12) drop-shadow(0 0 12px #ff9d32) drop-shadow(0 0 24px rgba(255,79,18,.82));
}

/* Dynamic butterfly z values remain feet-Y based; lowering only the flower art
   keeps butterflies visibly above blossoms without forcing them over buildings. */
.ggi-butterfly-v707:nth-child(n+5){display:none!important}

/* Camera movement gets the GPU budget: pause purely decorative sprite work and
   remove expensive glow/blur composites until the camera settles. */
body.gg-island-camera-moving-v693 :is(.ggi-tree-petals-v716 i,.ggi-butterfly-sprite-v707,.ggi-flame-ash-v716 i,.ggi-pier-lights-v716 i){
  animation-play-state:paused!important;
}
body.gg-island-camera-moving-v693 :is(.ggi-butterfly-v707,.ggi-pink-tree-v716,.ggi-flower-grass-v699){will-change:auto!important}

@media(max-width:760px){
  .ggi-butterfly-v707:nth-child(n+4),.ggi-tree-petals-v716 i:nth-child(n+3),.ggi-flame-ash-v716 i:nth-child(n+3){display:none!important}
  .ggi-tiki-ground-glow-v716,.ggi-pink-tree-v716:after{mix-blend-mode:normal!important;filter:none!important}
}
body.ggi-lite-mode-v708 .ggi-butterfly-v707:nth-child(n+4){display:none!important}
body.ggi-lite-mode-v708 .ggi-tool-sprite-v716.torch:before,
body.ggi-lite-mode-v708 .ggi-flower-grass-v699:before{filter:none!important}

@media(prefers-reduced-motion:reduce){
  .ggi-pink-tree-v716:after{animation:none!important}
}

/* v727 — clean fire framing, held-tool poses, shallow-water immersion, and
   the local fishing-catch reveal. These presentation rules do not change any
   registered collision, interaction, or building-occlusion geometry. */

/* The supplied firepit base already includes its stones and logs. Remove both
   legacy ground ellipses so neither can repaint across a nearby avatar. */
.ggi-firepit-v719 .ggi-fire-ground-v716{
  display:none!important;
  visibility:hidden!important;
  background:none!important;
  filter:none!important;
}
.ggi-firepit-v719:after{
  content:none!important;
  display:none!important;
  animation:none!important;
  background:none!important;
  filter:none!important;
}

/* The tiki atlas is one column with two 1024 x 768 frames. Its first frame is
   the complete intact idol; pin that half-atlas inside the stable 105 x 138
   body box and never let a neighbouring frame participate in animation. */
.ggi-fire-tiki-v716 .ggi-tiki-unlit-v716{
  inset:0!important;
  width:105px!important;
  height:138px!important;
  overflow:hidden!important;
  background-image:url("island-gremlin-tiki-atlas-v712.v747.webp")!important;
  background-repeat:no-repeat!important;
  background-size:auto 276px!important;
  background-position:50% 0!important;
  background-origin:border-box!important;
  background-clip:border-box!important;
  transform:none!important;
  animation:none!important;
}
.ggi-fire-tiki-v716.lit .ggi-tiki-unlit-v716{
  display:block!important;
  visibility:visible!important;
}

/* A flame cell is 256 x 336. Preserve that aspect ratio and place its base in
   the tiki's top basket rather than over the face. */
.ggi-fire-tiki-v716 .ggi-tiki-flame-v716{
  left:18.5px!important;
  top:-74px!important;
  bottom:auto!important;
  width:68px!important;
  height:89px!important;
  overflow:hidden!important;
  background-image:url("island-flame-only-v722.v747.webp")!important;
  background-repeat:no-repeat!important;
  background-size:400% 100%!important;
  background-position:0 0;
  transform:none!important;
  animation:ggi-flame-only-frames-v722 .76s steps(1,end) infinite!important;
}
.ggi-fire-tiki-v716.lit:before{
  top:-74px!important;
  height:212px!important;
  -webkit-clip-path:polygon(25% 0,75% 0,84% 42%,100% 42%,100% 100%,0 100%,0 42%,16% 42%)!important;
  clip-path:polygon(25% 0,75% 0,84% 42%,100% 42%,100% 100%,0 100%,0 42%,16% 42%)!important;
}

/* Put the recovered branch handle under the foreground hand. The flame is a
   small isolated atlas cell aligned to the branch tip and remains animated
   while the camera moves. */
.ggi-equipped-tool-v690[data-tool="stick"][data-tool-state="torch"]{
  left:63%!important;
  top:27%!important;
  width:74px!important;
  height:88px!important;
  z-index:84!important;
  overflow:visible!important;
  transform:rotate(-12deg)!important;
  transform-origin:18% 80%!important;
}
.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="stick"][data-tool-state="torch"]{
  left:11%!important;
  top:27%!important;
  transform:scaleX(-1) rotate(-12deg)!important;
}
/* v803: held in front of the body, so the body occludes the branch from behind.
   Covers unlit, wet/smoking and lit sticks as well as remote players. */
.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="stick"],
.gg-island-avatar-v682[data-direction="back"] .ggi-remote-tool-v706.ggi-remote-stick-v722{
  left:38%!important;right:auto!important;top:22%!important;
  z-index:4!important;opacity:1!important;
  transform:rotate(-10deg)!important;
}
.ggi-equipped-tool-v690[data-tool="stick"][data-tool-state="torch"] .ggi-tool-sprite-v716.torch:before{
  content:""!important;
  display:block!important;
  left:42%!important;
  top:-33%!important;
  width:56%!important;
  height:63%!important;
  overflow:hidden!important;
  background-image:url("island-flame-only-v722.v747.webp")!important;
  background-repeat:no-repeat!important;
  background-size:400% 100%!important;
  background-position:0 0;
  transform:none!important;
  animation:ggi-flame-only-frames-v722 .72s steps(1,end) infinite!important;
}
body.gg-island-camera-moving-v693 .ggi-equipped-tool-v690[data-tool="stick"][data-tool-state="torch"] .ggi-tool-sprite-v716.torch:before{
  animation-play-state:running!important;
  filter:drop-shadow(0 0 3px rgba(255,115,24,.68))!important;
}

/* A thin local waterline and a small bottom clip submerge feet without placing
   the avatar on an opaque oval. The per-avatar class also works for remotes. */
.gg-island-avatar-v682.ggi-shallow-immersed-v727:before{
  content:"";
  position:absolute;
  z-index:110;
  left:13px;
  bottom:8px;
  width:84px;
  height:11px;
  border-top:2px solid rgba(222,253,255,.88);
  border-radius:50%;
  background:linear-gradient(to bottom,rgba(173,239,244,.22),rgba(20,130,158,.14) 46%,transparent 82%);
  pointer-events:none;
  opacity:.82;
}
.gg-island-avatar-v682.ggi-shallow-immersed-v727 .gg-island-avatar-direction-v685{
  clip-path:inset(0 0 9px 0);
}
.gg-island-avatar-v682.ggi-shallow-immersed-v727 .gg-island-avatar-shadow-v682{
  opacity:.1!important;
}

/* JS adds ggi-butterfly-net-equipped-v727 while the net is selected. :has is
   a defensive bridge for a restored save before the class synchronization. */
.ggi-equipped-tool-v690[data-tool="butterflyNet"]{
  left:33%!important;
  top:26%!important;
  width:86px!important;
  height:86px!important;
  z-index:80!important;
  transform:rotate(-10deg)!important;
  transform-origin:20% 82%!important;
}
.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="butterflyNet"]{
  left:4%!important;
  transform:scaleX(-1) rotate(-10deg)!important;
}
.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="butterflyNet"]{
  left:38%!important;
  top:18%!important;
  z-index:35!important;
  opacity:1!important;
}
.gg-island-avatar-v682:is(.ggi-butterfly-net-equipped-v727,:has(.ggi-equipped-tool-v690[data-tool="butterflyNet"]:not([hidden]))) :is(.gg-island-avatar-art-v682,.ggi-avatar-hands-overlay-v705) :is(.hand-motion,.motion){
  animation:none!important;
  transform-box:fill-box;
  transform-origin:center;
}
.gg-island-avatar-v682:is(.ggi-butterfly-net-equipped-v727,:has(.ggi-equipped-tool-v690[data-tool="butterflyNet"]:not([hidden]))) :is(.gg-island-avatar-art-v682,.ggi-avatar-hands-overlay-v705) .hand-left :is(.hand-motion,.motion){
  transform:translate(70px,-10px) rotate(-18deg)!important;
}
.gg-island-avatar-v682:is(.ggi-butterfly-net-equipped-v727,:has(.ggi-equipped-tool-v690[data-tool="butterflyNet"]:not([hidden]))) :is(.gg-island-avatar-art-v682,.ggi-avatar-hands-overlay-v705) .hand-right :is(.hand-motion,.motion){
  transform:translate(-70px,-10px) rotate(18deg)!important;
}
.gg-island-avatar-v682.ggi-net-swing-v702 .gg-island-avatar-walk-v685{
  animation:ggi-avatar-net-swing-v727 .5s cubic-bezier(.2,.8,.24,1) both!important;
}
.gg-island-avatar-v682.ggi-net-swing-v702 .ggi-equipped-tool-v690[data-tool="butterflyNet"]{
  animation:ggi-net-swing-v727 .5s cubic-bezier(.2,.8,.24,1) both!important;
}
@keyframes ggi-avatar-net-swing-v727{
  0%,100%{rotate:0deg;translate:0 0}
  48%{rotate:-3deg;translate:-3px -2px}
  72%{rotate:2deg;translate:2px 0}
}
@keyframes ggi-net-swing-v727{
  0%{rotate:-28deg}
  52%{rotate:48deg;translate:8px -9px}
  76%{rotate:-18deg;translate:-2px 1px}
  100%{rotate:-10deg;translate:0 0}
}

/* Full-screen local catch reveal. JS owns runtime.modalOpen and the two-second
   state change; CSS prevents early dismissal affordances from appearing. */
.ggi-catch-reveal-v727{
  position:fixed;
  z-index:14000;
  inset:0;
  display:grid;
  place-items:center;
  padding:max(18px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom));
  background:rgba(3,13,24,.88);
  overscroll-behavior:contain;
  touch-action:none;
  pointer-events:auto;
}
.ggi-catch-reveal-v727[hidden]{display:none!important}
.ggi-catch-card-v727{
  width:min(88vw,360px);
  display:grid;
  justify-items:center;
  gap:10px;
  padding:20px 18px 16px;
  border:2px solid #8995a0;
  border-radius:24px;
  background:linear-gradient(155deg,#f7f9fa,#b9c3cc 58%,#8996a3);
  color:#14191e;
  text-align:center;
  box-shadow:inset 0 1px #fff,0 18px 40px rgba(0,0,0,.48);
  animation:ggi-catch-card-in-v727 .32s cubic-bezier(.2,.85,.25,1.1) both;
}
.ggi-catch-art-v727{
  width:min(58vw,210px);
  height:min(58vw,210px);
  display:grid;
  place-items:center;
  overflow:hidden;
  font-size:min(34vw,132px);
  line-height:1;
}
.ggi-catch-art-v727 :is(img,svg){display:block;max-width:100%;max-height:100%;object-fit:contain}
.ggi-catch-copy-v727{display:grid;gap:3px}.ggi-catch-copy-v727>*{margin:0}
.ggi-catch-copy-v727 h2{font:1000 1.35rem/1.08 system-ui,sans-serif;letter-spacing:.03em}
.ggi-catch-copy-v727 p{font:850 .82rem/1.25 system-ui,sans-serif;color:#303840}
.ggi-catch-continue-v727{
  width:100%;
  min-height:48px;
  border:1px solid #5e6872;
  border-radius:13px;
  background:linear-gradient(#fff,#c4ccd3);
  color:#171b20;
  font:950 .86rem/1 system-ui,sans-serif;
  touch-action:manipulation;
}
.ggi-catch-reveal-v727.is-locked .ggi-catch-continue-v727{
  visibility:hidden;
  pointer-events:none;
}
.ggi-catch-reveal-v727.is-locked .ggi-catch-card-v727:after{
  content:"Hold on…";
  min-height:24px;
  color:#414950;
  font:900 .72rem/1 system-ui,sans-serif;
  letter-spacing:.08em;
}
.ggi-catch-reveal-v727.is-ready .ggi-catch-continue-v727{visibility:visible;pointer-events:auto}
@keyframes ggi-catch-card-in-v727{from{opacity:0;scale:.84;translate:0 10px}to{opacity:1;scale:1;translate:0 0}}

/* Press feedback must never translate the castle's world anchor. */
.ggi-sandcastle-v687.ggi-sand-arena-v710:active{
  transform:translate(-50%,-100%)!important;
  translate:0 0!important;
  rotate:0deg!important;
  scale:1!important;
}

@media(max-width:700px){
  .ggi-catch-card-v727{width:min(90vw,340px);padding:17px 15px 14px}
  .ggi-catch-art-v727{width:min(54vw,190px);height:min(54vw,190px)}
  body.gg-island-camera-moving-v693 .ggi-fire-tiki-v716 .ggi-tiki-flame-v716,
  body.ggi-lite-mode-v708 .ggi-fire-tiki-v716 .ggi-tiki-flame-v716{
    filter:none!important;
  }
}

/* v729 repair authority — frame-safe fire, lightweight smoke sprites, and
   native-control cleanup for interactive butterflies. */
.ggi-butterfly-v707:active,
.ggi-butterfly-v707:focus{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
:is(.ggi-tool-art-v690,.ggi-quick-equip-v703) .ggi-tool-sprite-v716.torch:before{
  animation:none!important;
  background-position:66.667% 50%!important;
}

.ggi-building-smoke-v729{
  position:absolute;
  left:var(--x);
  top:var(--y);
  z-index:var(--depth);
  display:block;
  width:64px;
  height:96px;
  transform:translate(-50%,-100%);
  transform-origin:50% 100%;
  pointer-events:none;
  contain:strict;
  background:transparent url("island-building-smoke-v729.svg") 0 0/400% 100% no-repeat;
  animation:ggi-smoke-sprite-v729 1.36s steps(1,end) infinite;
  opacity:.64;
}
.ggi-building-smoke-v729[hidden]{display:none!important}
.ggi-building-smoke-v729[data-smoke-state="fire"]{opacity:.88;scale:1.08}
.ggi-building-smoke-v729[data-smoke-state="burned"]{opacity:.58}
.ggi-building-smoke-v729[data-smoke-state="steam"]{opacity:.3;scale:.88}

/* The gathering fire reuses one small strip instead of three animated,
   blurred DOM puffs. Its physical logs/stones remain on their static layer. */
.ggi-firepit-v719 .ggi-fire-smoke-v716{
  left:68px!important;
  bottom:116px!important;
  width:64px!important;
  height:96px!important;
  background:transparent url("island-building-smoke-v729.svg") 0 0/400% 100% no-repeat!important;
  animation:ggi-smoke-sprite-v729 1.42s steps(1,end) infinite!important;
  filter:none!important;
  opacity:.22;
}
.ggi-firepit-v719 .ggi-fire-smoke-v716>i{display:none!important}

@keyframes ggi-smoke-sprite-v729{
  0%,23%{background-position:0 0}
  24%,48%{background-position:33.333% 0}
  49%,73%{background-position:66.667% 0}
  74%,100%{background-position:100% 0}
}

body.gg-island-camera-moving-v693 :is(.ggi-building-smoke-v729,.ggi-firepit-v719 .ggi-fire-smoke-v716){
  animation-play-state:paused!important;
}
body.ggi-lite-mode-v708 :is(.ggi-building-smoke-v729,.ggi-firepit-v719 .ggi-fire-smoke-v716){
  animation-duration:1.82s!important;
}

@media(prefers-reduced-motion:reduce){
  .ggi-building-smoke-v729,.ggi-firepit-v719 .ggi-fire-smoke-v716{animation:none!important;background-position:66.667% 0!important}
  .ggi-chicken-burn-v716{animation:ggi-burning-chicken-frames-v716 1.18s steps(1,end) infinite!important}
}
@media(prefers-reduced-motion:reduce){
  .ggi-catch-card-v727,
  .gg-island-avatar-v682.ggi-net-swing-v702 .gg-island-avatar-walk-v685,
  .gg-island-avatar-v682.ggi-net-swing-v702 .ggi-equipped-tool-v690[data-tool="butterflyNet"]{
    animation:none!important;
  }
}
@media(max-width:760px){
  .ggi-fire-tiki-v716.lit .ggi-tiki-flame-v716{filter:hue-rotate(var(--ggi-tiki-hue-v722)) brightness(1.03) saturate(1.08) drop-shadow(0 0 5px var(--ggi-tiki-glow-v722))!important}
}

/* v722 — dedicated, guttered fire sprites and stable mobile compositing. */

/* The physical firepit is a static transparent base.  Its animated layer is a
   separate 4 × 1 flame atlas, so the stones and logs cannot repeat or jump. */
.ggi-firepit-v719 .ggi-fire-base-v720{
  left:20px!important;
  bottom:-17px!important;
  width:160px!important;
  height:235px!important;
  background-image:url("island-firepit-base-v722.v747.webp")!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
  background-position:50% 100%!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  animation:none!important;
  filter:none!important;
  z-index:3!important;
}
.ggi-firepit-v719 .ggi-fire-flames-v720{
  left:45px!important;
  bottom:40px!important;
  width:110px!important;
  height:160px!important;
  background-image:url("island-flame-only-v722.v747.webp")!important;
  background-repeat:no-repeat!important;
  background-size:400% 100%!important;
  background-position:0 50%;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  transform:none!important;
  filter:drop-shadow(0 0 9px rgba(255,117,20,.78))!important;
  animation:ggi-flame-only-frames-v722 .76s steps(1,end) infinite!important;
  z-index:2!important;
}
@keyframes ggi-flame-only-frames-v722{
  0%,23%{background-position:0 50%}
  24%,48%{background-position:33.333% 50%}
  49%,73%{background-position:66.667% 50%}
  74%,100%{background-position:100% 50%}
}

/* Held and inventory torches reuse only the flame pixels.  The stick remains
   the complete uncropped v721 art below this overlay. */
.ggi-tool-sprite-v716.torch:before{
  left:25%!important;
  top:-18%!important;
  width:58%!important;
  height:53%!important;
  background-image:url("island-flame-only-v722.v747.webp")!important;
  background-repeat:no-repeat!important;
  background-size:400% 100%!important;
  background-position:0 50%;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  transform:none!important;
  transform-origin:50% 100%!important;
  animation:ggi-flame-only-frames-v722 .72s steps(1,end) infinite!important;
}

/* A lit tiki keeps its original, correctly sized idol visible.  Only a small
   flame overlay animates; colour variants hue-shift that same clean atlas. */
.ggi-fire-tiki-v716{
  --ggi-tiki-hue-v722:0deg;
  --ggi-tiki-glow-v722:#ff7d2f;
}
.ggi-fire-tiki-v716[data-flame-color="green"]{--ggi-tiki-hue-v722:82deg;--ggi-tiki-glow-v722:#69ff72}
.ggi-fire-tiki-v716[data-flame-color="blue"]{--ggi-tiki-hue-v722:190deg;--ggi-tiki-glow-v722:#54baff}
.ggi-fire-tiki-v716[data-flame-color="purple"]{--ggi-tiki-hue-v722:255deg;--ggi-tiki-glow-v722:#d477ff}
.ggi-fire-tiki-v716.lit .ggi-tiki-unlit-v716{display:block!important}
.ggi-tiki-flame-v716{
  left:11.5px!important;
  top:-56px!important;
  bottom:auto!important;
  width:82px!important;
  height:92px!important;
  overflow:visible!important;
  pointer-events:none!important;
  background-image:url("island-flame-only-v722.v747.webp")!important;
  background-repeat:no-repeat!important;
  background-size:400% 100%!important;
  background-position:0 50%;
  animation:ggi-flame-only-frames-v722 .76s steps(1,end) infinite!important;
  transform:none!important;
  filter:hue-rotate(var(--ggi-tiki-hue-v722)) brightness(1.04) saturate(1.14) drop-shadow(0 0 7px var(--ggi-tiki-glow-v722))!important;
}
.ggi-tiki-flame-v716:before,
.ggi-tiki-flame-v716:after{
  content:none!important;
  display:none!important;
  background:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  animation:none!important;
}
body.ggi-island-night-v715 .ggi-fire-tiki-v716.lit .ggi-tiki-flame-v716{
  filter:hue-rotate(var(--ggi-tiki-hue-v722)) brightness(1.14) saturate(1.18) drop-shadow(0 0 9px var(--ggi-tiki-glow-v722)) drop-shadow(0 0 18px var(--ggi-tiki-glow-v722))!important;
}

/* The v722 atlas is exactly 4 × 2 (112 × 150 cells); the existing 56 × 75
   butterfly viewport is therefore an exact half-scale cell with safe gutters. */
.ggi-butterfly-sprite-v707{
  background-image:url("island-butterflies-v722.png")!important;
  background-repeat:no-repeat!important;
  background-size:400% 200%!important;
}
.ggi-butterfly-v707.species-0 .ggi-butterfly-sprite-v707{
  animation:ggi-butterfly-pink-v707 .56s steps(1,end) infinite!important;
}
.ggi-butterfly-v707.species-1 .ggi-butterfly-sprite-v707{
  animation:ggi-butterfly-orange-v707 .56s steps(1,end) infinite!important;
}

/* Do not clip the Avatar Home's foundation posts or rebuild its style filter
   while walking.  The transparent hit child remains the sole click target. */
#ggIslandHomeV683,.ggi-avatar-home-v721{
  clip-path:none!important;
  -webkit-clip-path:none!important;
}

/* Three independent, flame-only sprites cover the blossom crown.  The old
   full-firepit pseudo element is disabled so no second set of logs appears. */
.ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721):before{
  content:none!important;
  display:none!important;
}
.ggi-tree-burn-fire-v721{
  position:absolute;
  z-index:5;
  inset:0;
  display:none;
  overflow:visible;
  pointer-events:none;
}
.ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-tree-burn-fire-v721{display:block!important}
.ggi-tree-burn-fire-v721>i{
  position:absolute;
  display:block;
  width:100px;
  height:140px;
  background-image:url("island-flame-only-v722.v747.webp");
  background-repeat:no-repeat;
  background-size:400% 100%;
  background-position:0 50%;
  transform-origin:50% 100%;
  filter:drop-shadow(0 0 9px rgba(255,99,21,.86));
  animation:ggi-flame-only-frames-v722 .72s steps(1,end) infinite;
}
.ggi-tree-burn-fire-v721>i:nth-child(1){left:25px;top:55px;animation-delay:0s}
.ggi-tree-burn-fire-v721>i:nth-child(2){left:115px;top:40px;animation-delay:-.18s}
.ggi-tree-burn-fire-v721>i:nth-child(3){left:205px;top:60px;animation-delay:-.36s}

/* Grass uses the same isolated flame cells.  Burn-age offsets keep a restored
   save from replaying the healthy part of the one-shot scorch animation. */
.ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721):before{
  background-image:url("island-flame-only-v722.v747.webp")!important;
  background-repeat:no-repeat!important;
  background-size:400% 100%!important;
  background-position:0 50%;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  animation:ggi-flame-only-frames-v722 .72s steps(1,end) infinite!important;
}
.ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-pink-tree-sprite-v716{
  animation:ggi-pink-tree-scorch-v721 4.2s linear forwards!important;
  animation-delay:calc(0ms - var(--ggi-burn-age,0ms))!important;
  animation-play-state:running!important;
}
.ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721) .grass-motion{
  animation:ggi-grass-scorch-v721 4.2s linear forwards!important;
  animation-delay:calc(0ms - var(--ggi-burn-age,0ms))!important;
  animation-play-state:running!important;
}

body.ggi-island-night-v715 .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-tree-burn-fire-v721>i,
body.ggi-island-night-v715 .ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721):before{
  filter:brightness(1.14) saturate(1.14) drop-shadow(0 0 11px #ff9d32) drop-shadow(0 0 21px rgba(255,79,18,.8))!important;
}

/* Lite mode freezes the world-sized water paint and retains cheaper static
   glows.  Flame cells advance less often without turning any fire off. */
body.ggi-lite-mode-v708 .gg-island-water-motion-v686{
  animation:none!important;
  background-position:0 0,56px 34px,0 0!important;
  opacity:.8!important;
  will-change:auto!important;
}
body.ggi-lite-mode-v708 .ggi-fire-tiki-v716.lit .ggi-tiki-flame-v716{
  filter:hue-rotate(var(--ggi-tiki-hue-v722)) brightness(1.04) saturate(1.08) drop-shadow(0 0 4px var(--ggi-tiki-glow-v722))!important;
}
body.ggi-lite-mode-v708 .ggi-tiki-flame-v716{animation-duration:1.08s!important}
body.ggi-lite-mode-v708 .ggi-fire-tiki-v716.lit .ggi-tiki-ground-glow-v716{
  animation:none!important;
  opacity:.46!important;
  scale:1!important;
  mix-blend-mode:normal!important;
  filter:none!important;
}
body.ggi-lite-mode-v708 .ggi-fire-tiki-v716 .ggi-flame-ash-v716 i:nth-child(n+2){display:none!important}
body.ggi-lite-mode-v708 .ggi-tree-burn-fire-v721>i,
body.ggi-lite-mode-v708 .ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721):before{animation-duration:.96s!important}

/* Keep fire alive during camera movement, but replace multi-pass night glows
   with one cheap shadow.  Static glows stay present so lighting never pops. */
body.gg-island-camera-moving-v693 .ggi-firepit-v719 .ggi-fire-flames-v720{
  animation-play-state:running!important;
  filter:drop-shadow(0 0 5px rgba(255,117,20,.7))!important;
}
body.gg-island-camera-moving-v693 .ggi-tool-sprite-v716.torch:before{
  animation-play-state:running!important;
  filter:brightness(1.06) saturate(1.08) drop-shadow(0 0 4px rgba(255,115,24,.72))!important;
}
body.gg-island-camera-moving-v693 .ggi-fire-tiki-v716.lit .ggi-tiki-flame-v716{
  filter:hue-rotate(var(--ggi-tiki-hue-v722)) brightness(1.04) saturate(1.08) drop-shadow(0 0 4px var(--ggi-tiki-glow-v722))!important;
}
body.gg-island-camera-moving-v693 .ggi-fire-tiki-v716.lit .ggi-tiki-flame-v716,
body.gg-island-camera-moving-v693 .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-tree-burn-fire-v721>i,
body.gg-island-camera-moving-v693 .ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721):before,
body.gg-island-camera-moving-v693 .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-pink-tree-sprite-v716,
body.gg-island-camera-moving-v693 .ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721) .grass-motion{
  animation-play-state:running!important;
}
body.gg-island-camera-moving-v693 .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-tree-burn-fire-v721>i,
body.gg-island-camera-moving-v693 .ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721):before{
  filter:drop-shadow(0 0 5px rgba(255,99,21,.72))!important;
}
body.gg-island-camera-moving-v693 .ggi-fire-tiki-v716.lit .ggi-tiki-ground-glow-v716,
body.gg-island-camera-moving-v693 .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721):after{
  display:block!important;
  opacity:.38!important;
  scale:1!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  animation-play-state:paused!important;
}

/* The open rail, not the closed three-button rail, owns short-screen scrolling.
   Reserve the bottom HUD plus the iPhone safe area and restore 44px targets. */
@media(max-width:760px){
  .gg-island-tool-dock-v689.ggi-tool-open-v712{
    max-height:calc(55dvh - max(82px,calc(env(safe-area-inset-bottom) + 74px)))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .ggi-smart-drawer-v710>header button{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
  .ggi-smart-drawer-v710 .ggi-tool-panel-content-v710 button,
  .ggi-fishing-market-row-v703 button,
  .ggi-sell-all-fishing-v703{min-height:44px!important}
  .ggi-chat-close-v708{
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
  }
  .gg-island-clock-v687{top:max(66px,calc(env(safe-area-inset-top) + 56px))!important}
}

/* v724 — collision-aligned pier foreground authority. */
/* The pier art has two depth planes: the deck/far rail stays behind walkers,
   while only the collision-aligned near rail and closed end repaint above. */
.ggi-lantern-pier-v716{
  left:calc(var(--x) - 280px)!important;
  top:calc(var(--y) - 588px)!important;
  z-index:auto!important;
  transform:none!important;
  filter:none!important;
}
.ggi-lantern-pier-v716>img{
  position:absolute;
  inset:0;
  z-index:2950;
  filter:drop-shadow(0 14px 8px rgba(20,28,31,.44));
}
.ggi-lantern-pier-v716:after{
  content:none;
  display:none;
}

/* Repaint the complete near rail from the source through one alpha-only mask;
   the mask traces ropes/posts/net separately and excludes walkable boards. */
.ggi-lantern-pier-v716:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:5301;
  pointer-events:none;
  background:url("island-lantern-pier-v716.v747.webp") 50% 100%/100% 100% no-repeat;
  -webkit-mask:url("island-lantern-pier-foreground-mask-v724.svg") 0 0/100% 100% no-repeat;
  mask:url("island-lantern-pier-foreground-mask-v724.svg") 0 0/100% 100% no-repeat;
  -webkit-mask-mode:alpha;
  mask-mode:alpha;
}

/* v725 — let the fire itself own the complete click target, including the
   animated flame column and full stone ring, without reaching beyond its box. */
.ggi-fire-hit-v719{
  left:13px!important;
  top:40px!important;
  bottom:auto!important;
  width:174px!important;
  height:204px!important;
  border-radius:0!important;
  -webkit-clip-path:polygon(29% 0,71% 0,75% 35%,95% 50%,100% 55%,100% 100%,0 100%,0 55%,5% 50%,25% 35%);
  clip-path:polygon(29% 0,71% 0,75% 35%,95% 50%,100% 55%,100% 100%,0 100%,0 55%,5% 50%,25% 35%);
}

/* Essential flames remain softly animated even when Reduce Motion is enabled;
   object sway, camera motion, smoke, and particle travel are still reduced. */

/* v723 — final foreground-plane and low-cost fire-light polish.  These rules
   do not alter any registered world bounds or interaction hit targets. */

/* The pier image is split around the player plane in v722.  Keep the six
   lantern pools above the foreground rope copy; otherwise the positive-z base
   image paints over their glow even though the lamps themselves are visible. */
.ggi-lantern-pier-v716 .ggi-pier-lights-v716{
  z-index:5301!important;
  pointer-events:none!important;
}

/* Camera movement may simplify a large building shadow, but removing it
   entirely makes the Salon and Market pop against the ground while walking. */
body.gg-island-camera-moving-v693 .ggi-goldie-salon-scene-v719{
  filter:drop-shadow(0 8px 4px rgba(42,26,17,.34))!important;
}
body.gg-island-camera-moving-v693 .ggi-market-scene-v720{
  filter:drop-shadow(0 8px 4px rgba(39,24,18,.34))!important;
}

/* Lite mode still communicates that every active fire emits light at night,
   using one small shadow instead of the normal two-pass glow. */
body.ggi-lite-mode-v708.ggi-island-night-v715 .ggi-tool-sprite-v716.torch:before{
  filter:brightness(1.08) saturate(1.1) drop-shadow(0 0 5px rgba(255,126,34,.78))!important;
  animation-duration:.96s!important;
}
body.ggi-lite-mode-v708.ggi-island-night-v715 .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-tree-burn-fire-v721>i,
body.ggi-lite-mode-v708.ggi-island-night-v715 .ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721):before{
  filter:brightness(1.07) saturate(1.08) drop-shadow(0 0 5px rgba(255,110,27,.74))!important;
}

/* v725 — stationary night fire keeps an explicit glow; camera movement and
   lite mode retain their single-shadow compositing budget. */
body.ggi-island-night-v715:not(.gg-island-camera-moving-v693) .ggi-firepit-v719 .ggi-fire-flames-v720{
  filter:brightness(1.08) saturate(1.08) drop-shadow(0 0 15px rgba(255,126,25,.92))!important;
}
body.ggi-lite-mode-v708.ggi-island-night-v715:not(.gg-island-camera-moving-v693) .ggi-firepit-v719 .ggi-fire-flames-v720{
  filter:brightness(1.05) saturate(1.07) drop-shadow(0 0 5px rgba(255,117,20,.72))!important;
}
/* Rain keeps its supernatural green flame authority at night. */
body.ggi-island-night-v715:not(.gg-island-camera-moving-v693) .gg-island-world-v682[data-weather="rain"] .ggi-firepit-v719 .ggi-fire-flames-v720{
  filter:hue-rotate(82deg) brightness(1.02) saturate(1.15) drop-shadow(0 0 13px rgba(72,255,109,.72))!important;
}
body.ggi-lite-mode-v708.ggi-island-night-v715:not(.gg-island-camera-moving-v693) .gg-island-world-v682[data-weather="rain"] .ggi-firepit-v719 .ggi-fire-flames-v720{
  filter:hue-rotate(82deg) brightness(1.02) saturate(1.12) drop-shadow(0 0 5px rgba(72,255,109,.68))!important;
}
body.gg-island-camera-moving-v693 .gg-island-world-v682[data-weather="rain"] .ggi-firepit-v719 .ggi-fire-flames-v720{
  filter:hue-rotate(82deg) brightness(1.02) saturate(1.12) drop-shadow(0 0 5px rgba(72,255,109,.68))!important;
}
body.ggi-lite-mode-v708 .gg-island-world-v682[data-weather="rain"] .ggi-firepit-v719 .ggi-fire-flames-v720{
  filter:hue-rotate(82deg) brightness(1.02) saturate(1.12) drop-shadow(0 0 5px rgba(72,255,109,.68))!important;
}

/* Colored tiki variants must still obey the cheap Lite/walking night budget. */
body.ggi-lite-mode-v708.ggi-island-night-v715 .ggi-fire-tiki-v716[data-flame-color].lit .ggi-tiki-flame-v716,
body.gg-island-camera-moving-v693.ggi-island-night-v715 .ggi-fire-tiki-v716[data-flame-color].lit .ggi-tiki-flame-v716{
  filter:hue-rotate(var(--ggi-tiki-hue-v722)) brightness(1.04) saturate(1.08) drop-shadow(0 0 4px var(--ggi-tiki-glow-v722))!important;
}

/* Stop decorative ground-glow compositing while the camera or Lite mode is
   active, but leave a stable light pool so fire never appears extinguished. */
body.gg-island-camera-moving-v693 .ggi-firepit-v719:after,
body.ggi-lite-mode-v708 .ggi-firepit-v719:after{
  animation:none!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:.48!important;
  scale:1!important;
}
body.ggi-lite-mode-v708.ggi-island-night-v715 .ggi-firepit-v719:after,
body.gg-island-camera-moving-v693.ggi-island-night-v715 .ggi-firepit-v719:after{
  opacity:.62!important;
}

/* Six pier lanterns keep a visible night light in constrained modes without
   retaining six animated, two-pass shadow composites. */
body.ggi-lite-mode-v708.ggi-island-night-v715 .ggi-lantern-pier-v716 .ggi-pier-lights-v716 i,
body.gg-island-camera-moving-v693.ggi-island-night-v715 .ggi-lantern-pier-v716 .ggi-pier-lights-v716 i{
  animation:none!important;
  filter:drop-shadow(0 0 5px rgba(255,203,84,.76))!important;
  opacity:.9!important;
  scale:1.1!important;
}

/* v726 — constrained modes keep every fire visibly active while removing the
   large animated composites that were still surviving the old Lite/camera
   cascade.  Registered world/collision geometry stays unchanged; the one local
   touch extension below follows the measured tiki flame pixels. */
/* The lit flame extends exactly 56px above its 105×138 tiki button.  Extend
   only that button's local touch surface through the measured flame/body union
   so tapping visible fire cannot fall through into island movement. */
.ggi-fire-tiki-v716.lit:before{
  content:"";
  position:absolute;
  z-index:10;
  left:0;
  top:-56px;
  width:105px;
  height:194px;
  background:transparent;
  pointer-events:auto!important;
  touch-action:manipulation;
  -webkit-clip-path:polygon(22% 0,78% 0,89% 29%,100% 29%,100% 100%,0 100%,0 29%,11% 29%);
  clip-path:polygon(22% 0,78% 0,89% 29%,100% 29%,100% 100%,0 100%,0 29%,11% 29%);
}
body.ggi-lite-mode-v708 .ggi-firepit-v719 .ggi-fire-flames-v720{
  animation-duration:1.04s!important;
  filter:drop-shadow(0 0 5px rgba(255,117,20,.7))!important;
}
body.ggi-lite-mode-v708 .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-tree-burn-fire-v721>i{
  animation-duration:.96s!important;
  filter:drop-shadow(0 0 4px rgba(255,99,21,.7))!important;
}
body.gg-island-camera-moving-v693 .ggi-torch-ground-glow-v716.active,
body.ggi-lite-mode-v708 .ggi-torch-ground-glow-v716.active{
  animation:none!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:.62!important;
  scale:1!important;
}
body.gg-island-camera-moving-v693.ggi-island-night-v715 .ggi-torch-ground-glow-v716.active,
body.ggi-lite-mode-v708.ggi-island-night-v715 .ggi-torch-ground-glow-v716.active{
  opacity:.78!important;
}
body.ggi-lite-mode-v708 .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721):after{
  animation:none!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:.48!important;
  scale:1!important;
}
body.ggi-lite-mode-v708 .ggi-lantern-pier-v716 .ggi-pier-lights-v716 i{
  animation:none!important;
  filter:drop-shadow(0 0 4px rgba(255,203,84,.64))!important;
  scale:1!important;
}
body.gg-island-camera-moving-v693 .ggi-fire-smoke-v716 i{
  animation-play-state:paused!important;
}

@media(prefers-reduced-motion:reduce){
  .ggi-pink-tree-v716:is(.burning-v721,.ggi-burning-v721) .ggi-pink-tree-sprite-v716,
  .ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721) .grass-motion{
    animation:none!important;
    animation-delay:0s!important;
  }
  :is(.ggi-goldie-salon-scene-v719,.ggi-market-scene-v720,#ggIslandHomeV683,.ggi-avatar-home-v721,#ggIslandGrimWorkshopV720,.ggi-waterfall-v749){
    transition:none!important;
  }
}

/* v727 final authority — generated landmark assets, straight-pier planes,
   stable ground-peck cells, and low-cost phone compositing. */

/* The new pier is vertical in screen space. Its physical deck is the only
   walkable center lane; the duplicated foreground plane contains rails/end. */
.ggi-lantern-pier-v716{
  left:calc(var(--x) - 92px)!important;
  top:calc(var(--y) - 612px)!important;
  width:184px!important;
  height:612px!important;
  z-index:auto!important;
  transform:none!important;
  filter:none!important;
  pointer-events:none!important;
}
.ggi-lantern-pier-v716>img{
  position:absolute!important;
  inset:0!important;
  z-index:2950!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  filter:drop-shadow(0 10px 6px rgba(20,28,31,.34))!important;
}
.ggi-lantern-pier-v716:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:5301!important;
  display:block!important;
  pointer-events:none!important;
  background:url("island-lantern-pier-straight-v731.v747.webp") 0 0/100% 100% no-repeat!important;
  -webkit-mask:url("island-lantern-pier-straight-foreground-mask-v735.svg") 0 0/100% 100% no-repeat!important;
  mask:url("island-lantern-pier-straight-foreground-mask-v735.svg") 0 0/100% 100% no-repeat!important;
  -webkit-mask-mode:alpha!important;
  mask-mode:alpha!important;
}
.ggi-lantern-pier-v716 .ggi-pier-lights-v716{z-index:5302!important}
.ggi-lantern-pier-v716 .ggi-pier-lights-v716 i{width:18px!important;height:18px!important}
.ggi-lantern-pier-v716 .ggi-pier-lights-v716 i:nth-child(1){left:37px!important;top:150px!important}
.ggi-lantern-pier-v716 .ggi-pier-lights-v716 i:nth-child(2){left:137px!important;top:150px!important}
.ggi-lantern-pier-v716 .ggi-pier-lights-v716 i:nth-child(3){left:37px!important;top:286px!important}
.ggi-lantern-pier-v716 .ggi-pier-lights-v716 i:nth-child(4){left:137px!important;top:286px!important}
.ggi-lantern-pier-v716 .ggi-pier-lights-v716 i:nth-child(5){left:37px!important;top:421px!important}
.ggi-lantern-pier-v716 .ggi-pier-lights-v716 i:nth-child(6){left:137px!important;top:421px!important}

/* Compact single-room beach hut generated from the supplied reference. */
#ggIslandHomeV683,
.ggi-avatar-home-v721{
  width:300px!important;
  height:347px!important;
  background:url("island-avatar-home-v727.v747.webp") 50% 100%/300px 347px no-repeat!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
  overflow:visible!important;
  transform:translate(-50%,-100%)!important;
  filter:drop-shadow(0 11px 6px rgba(45,27,15,.38))!important;
}
#ggIslandHomeV683:active,
.ggi-avatar-home-v721:active{
  transform:translate(-50%,-100%)!important;
  translate:0 0!important;
  rotate:0deg!important;
  scale:1!important;
}
#ggIslandHomeHitV721,
.ggi-avatar-home-hit-v721{
  left:72px!important;
  top:134px!important;
  width:156px!important;
  height:209px!important;
  -webkit-clip-path:polygon(20% 0,80% 0,84% 55%,100% 65%,100% 100%,0 100%,0 65%,16% 55%)!important;
  clip-path:polygon(20% 0,80% 0,84% 55%,100% 65%,100% 100%,0 100%,0 65%,16% 55%)!important;
}

/* The dedicated 4x1 strip is a real beak-to-ground motion. The body wrapper
   stays planted so the feet and world depth anchor cannot jump. */
.ggi-chicken-v699.peck .chicken-motion{
  animation:none!important;
  transform:none!important;
}
.ggi-chicken-v699.peck .ggi-chicken-sprite-v699{
  background-image:url("island-chicken-peck-v727.v747.webp")!important;
  background-size:400% 100%!important;
  background-repeat:no-repeat!important;
  animation:ggi-chicken-ground-peck-v727 1.08s steps(1,end) infinite!important;
}
@keyframes ggi-chicken-ground-peck-v727{
  0%,22%{background-position:0 0}
  23%,45%{background-position:33.333% 0}
  46%,70%{background-position:66.667% 0}
  71%,100%{background-position:100% 0}
}

/* Final flame placement follows the measured body/flame union and comes after
   every legacy authority, including v726's older 56px touch extension. */
.ggi-firepit-v719 .ggi-fire-ground-v716,
.ggi-firepit-v719:after{display:none!important;content:none!important;background:none!important;filter:none!important}
.ggi-fire-tiki-v716 .ggi-tiki-unlit-v716{
  inset:0!important;width:105px!important;height:138px!important;
  background-image:url("island-tiki-body-v727.png")!important;
  background-size:105px 138px!important;background-position:0 0!important;
  background-repeat:no-repeat!important;animation:none!important;transform:none!important;
}
.ggi-fire-tiki-v716 .ggi-tiki-flame-v716{
  left:18.5px!important;top:-74px!important;bottom:auto!important;
  width:68px!important;height:89px!important;overflow:hidden!important;
  background-image:url("island-flame-only-v722.v747.webp")!important;
  background-size:400% 100%!important;background-repeat:no-repeat!important;
  animation:ggi-flame-only-frames-v722 .76s steps(1,end) infinite!important;
  transform:none!important;
}
.ggi-fire-tiki-v716.lit:before{
  left:0!important;top:-74px!important;width:105px!important;height:212px!important;
  -webkit-clip-path:polygon(25% 0,75% 0,84% 42%,100% 42%,100% 100%,0 100%,0 42%,16% 42%)!important;
  clip-path:polygon(25% 0,75% 0,84% 42%,100% 42%,100% 100%,0 100%,0 42%,16% 42%)!important;
}
.ggi-equipped-tool-v690[data-tool="stick"][data-tool-state="torch"] .ggi-tool-sprite-v716.torch:before{
  left:42%!important;top:-33%!important;width:56%!important;height:63%!important;
  background-image:url("island-flame-only-v722.v747.webp")!important;
  background-size:400% 100%!important;background-repeat:no-repeat!important;
  animation:ggi-flame-only-frames-v722 .72s steps(1,end) infinite!important;
}

/* Camera/Lite mode removes only expensive paint. It never removes gameplay
   flames, catch controls, collisions, or the six pier lamps. */
body:is(.gg-island-camera-moving-v693,.ggi-lite-mode-v708) :is(.ggi-tool-tabs-v710 .ggi-tool-button-v690,.ggi-smart-drawer-v710){
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.ggi-butterfly-v707.ggi-butterfly-interactive-v727{
  pointer-events:auto!important;
  touch-action:manipulation;
}
.ggi-butterfly-v707.ggi-butterfly-interactive-v727 .ggi-butterfly-sprite-v707{pointer-events:none!important}
.gg-island-hud-v682 button,
.gg-island-room-chip-v682,
.ggi-tool-tabs-v710 .ggi-tool-button-v690,
.ggi-smart-drawer-v710{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.ggi-smart-drawer-v710{background:linear-gradient(150deg,#f7f9fa,#acb7c3)!important}
.ggi-sand-arena-v710>img{content:url("island-sand-arena-v727.v747.webp")!important}
.ggi-firepit-v719{filter:none!important}
.ggi-firepit-v719 .ggi-fire-base-v720{filter:drop-shadow(0 8px 4px rgba(41,23,17,.32))!important}
body.ggi-lite-mode-v708 .ggi-island-weather-v706{will-change:auto!important}
body:is(.gg-island-camera-moving-v693,.ggi-lite-mode-v708) :is(.ggi-lantern-pier-v716>img,#ggIslandHomeV683,.ggi-pink-tree-v716,.ggi-bamboo-cluster-v716,.ggi-firepit-v719,.ggi-sandcastle-v687){
  filter:none!important;
}
body.gg-island-camera-moving-v693 .ggi-bamboo-sprite-v716{animation-play-state:paused!important}
body.ggi-lite-mode-v708 .ggi-bamboo-sprite-v716{animation:none!important;transform:none!important}

@media(prefers-reduced-motion:reduce){
  .ggi-firepit-v719 .ggi-fire-flames-v720,
  .ggi-tool-sprite-v716.torch:before,
  .ggi-fire-tiki-v716 .ggi-tiki-flame-v716,
  .ggi-tree-burn-fire-v721>i,
  .ggi-flower-grass-v699:is(.burning-v721,.ggi-burning-v721):before{
    animation:ggi-flame-only-frames-v722 1.18s steps(1,end) infinite!important;
  }
  .ggi-chicken-v699.peck .ggi-chicken-sprite-v699{
    animation:ggi-chicken-ground-peck-v727 1.4s steps(1,end) infinite!important;
  }
}

/* v728 rain presentation authority — rain falls in viewport space while its
   pooled impact art remains registered in world space over real water. */

/* The former weather gradient moved with the 2,800px world and visibly slid
   whenever the camera followed the avatar. Rain is now owned by the fixed
   viewport layer below, so the legacy weather plane contributes no rain art. */
.ggi-island-weather-v706[data-weather="rain"]{
  background:none!important;
  background-image:none!important;
  opacity:0!important;
  animation:none!important;
  will-change:auto!important;
}

.ggi-island-screen-rain-v728{
  position:absolute;
  z-index:9020;
  inset:0;
  display:block;
  overflow:hidden;
  contain:layout paint style;
  isolation:isolate;
  pointer-events:none!important;
  touch-action:none;
  user-select:none;
  opacity:0;
  visibility:hidden;
}
.ggi-island-screen-rain-v728[hidden]{display:none!important}
.ggi-island-screen-rain-v728.active,
.ggi-island-screen-rain-v728[data-active="true"]{
  opacity:1;
  visibility:visible;
}
.ggi-island-screen-rain-v728:before,
.ggi-island-screen-rain-v728:after{
  content:"";
  position:absolute;
  display:block;
  pointer-events:none;
  background-image:url("island-rain-streaks-v728.v747.webp");
  background-repeat:repeat;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.ggi-island-screen-rain-v728:before{
  /* This layer travels left and down. Only its right and bottom edges need
     one tile of overscan; a one-pixel guard on every edge absorbs fractional
     raster rounding without restoring the former symmetric overdraw. */
  inset:-1px -385px -385px -1px;
  opacity:.4;
  background-size:384px 384px;
  background-position:0 0;
  animation:ggi-screen-rain-fall-a-v728 1.08s linear infinite;
}
.ggi-island-screen-rain-v728:after{
  /* This layer starts shifted right, so its one-tile guard belongs on the
     left; the bottom guard covers the simultaneous downward travel, with the
     same one-pixel raster safety margin. */
  inset:-1px -1px -289px -289px;
  opacity:.16;
  background-size:288px 288px;
  background-position:137px 79px;
  animation:ggi-screen-rain-fall-b-v728 1.62s linear infinite;
}
/* Each endpoint differs by exactly one complete repeated tile on both axes.
   The last rendered frame therefore joins the first without a texture jump. */
@keyframes ggi-screen-rain-fall-a-v728{
  from{transform:translate3d(0,-384px,0)}
  to{transform:translate3d(-384px,0,0)}
}
@keyframes ggi-screen-rain-fall-b-v728{
  from{transform:translate3d(288px,-288px,0)}
  to{transform:translate3d(0,0,0)}
}

/* The generated PNG is the entire ripple: no CSS border, fake ellipse, drop,
   or pseudo-element can introduce a second frame or clip its outer rings. */
.ggi-rain-ripples-v716{
  overflow:visible!important;
  pointer-events:none!important;
}
.ggi-rain-ripple-v716,
.ggi-rain-ripple-v728{
  position:absolute;
  display:none;
  width:72px!important;
  height:48px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  pointer-events:none!important;
  opacity:0;
  transform:translate(-50%,-50%)!important;
  transform-origin:50% 58%;
  scale:.24;
  background:transparent url("island-rain-ripple-v728.png") 50% 50%/contain no-repeat!important;
  filter:none!important;
}
.ggi-rain-ripple-v716:before,
.ggi-rain-ripple-v716:after,
.ggi-rain-ripple-v728:before,
.ggi-rain-ripple-v728:after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.ggi-rain-ripple-v716.show,
.ggi-rain-ripple-v728.show{
  display:block;
  animation:ggi-rain-ripple-art-v728 var(--ggi-ripple-duration-v728,.9s) cubic-bezier(.16,.62,.28,1) both!important;
}
.ggi-rain-ripple--shallow{opacity:.86}
.ggi-rain-ripple--variant-1{rotate:-5deg}
.ggi-rain-ripple--variant-2{rotate:4deg}
.ggi-rain-ripple--variant-3{rotate:-2deg}
@keyframes ggi-rain-ripple-art-v728{
  0%{scale:.24;opacity:0}
  16%{opacity:.94}
  54%{opacity:.68}
  100%{scale:var(--ggi-ripple-scale-v728,1.18);opacity:0}
}

/* Lite is a persistent rendering profile, so changing to these settings does
   not coincide with camera starts/stops. The primary layer keeps its base
   timing/phase while Lite avoids the second compositor surface entirely. */
body.ggi-lite-mode-v708 .ggi-island-screen-rain-v728:before{
  opacity:.3;
}
body.ggi-lite-mode-v708 .ggi-island-screen-rain-v728:after{
  content:none!important;
  background-image:none!important;
  animation-name:initial!important;
  transform:none!important;
  will-change:auto!important;
}
body.ggi-lite-mode-v708 :is(.ggi-rain-ripple-v716,.ggi-rain-ripple-v728){
  filter:none;
}

body.gg-island-camera-moving-v693 .ggi-island-screen-rain-v728:after{content:none!important;display:none!important}
body.gg-island-camera-moving-v693 .ggi-island-screen-rain-v728:before{opacity:.34;animation-duration:1.24s!important}

@media(prefers-reduced-motion:reduce){
  .ggi-island-screen-rain-v728:before{
    opacity:.25;
    animation:ggi-screen-rain-fall-a-v728 2.7s steps(24,end) infinite!important;
  }
  .ggi-island-screen-rain-v728:after{
    opacity:.1;
    animation:ggi-screen-rain-fall-b-v728 3.65s steps(20,end) infinite!important;
  }
  .ggi-rain-ripple-v716.show,
  .ggi-rain-ripple-v728.show{
    animation-name:ggi-rain-ripple-art-v728!important;
    animation-timing-function:steps(8,end)!important;
  }
}

/* v730 cleanup authority — frame-safe crabs, real building flames, and a
   movement compositor budget sized for iPhone. No extra render loop is used. */
.ggi-building-fire-v730{
  position:absolute;
  left:var(--x);
  top:var(--y);
  z-index:var(--depth);
  display:block;
  width:62px;
  height:82px;
  transform:translate(-50%,-100%) scale(var(--ggi-building-fire-scale,1));
  transform-origin:50% 100%;
  pointer-events:none;
  contain:strict;
  background:transparent url("island-flame-only-v722.v747.webp") 0 50%/400% 100% no-repeat;
  animation:ggi-flame-only-frames-v722 .78s steps(1,end) infinite;
  animation-delay:var(--ggi-building-fire-delay,0s);
}
.ggi-building-fire-v730[hidden]{display:none!important}
body.ggi-lite-mode-v708 .ggi-building-fire-v730{animation-duration:1.02s}

/* The moving 2,800 × 2,240 world no longer composites duplicated blurred
   artwork shadows. Stationary Full mode retains the original depth polish. */
body:is(.gg-island-camera-moving-v693,.ggi-lite-mode-v708) :is(
  .ggi-tree-sun-shadow-v710,
  .ggi-lighthouse-sun-shadow-v711,
  .ggi-pink-tree-shadow-v716,
  .ggi-bamboo-shadow-v716,
  .ggi-surfboard-shadow-v716
){display:none!important}
body:is(.gg-island-camera-moving-v693,.ggi-lite-mode-v708) :is(
  .ggi-goldie-salon-scene-v719,
  .ggi-market-scene-v720,
  .ggi-lighthouse-v713 .ggi-lighthouse-sprite-v709,
  .ggi-lighthouse-v714 .beam
){filter:none!important;mix-blend-mode:normal!important}
body:is(.gg-island-camera-moving-v693,.ggi-lite-mode-v708) :is(
  .ggi-flightbug-v702,
  .ggi-water-life-v710,
  .ggi-night-bat-v712,
  .ggi-bamboo-bandit-v717,
  .ggi-lighthouse-v714 .beam
){will-change:auto!important}

@media(max-width:760px){
  .ggi-building-fire-v730[data-flame-index="2"]{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .ggi-crab-v700.walking .ggi-crab-sprite-v700{
    animation:ggi-crab-scuttle-v700 .64s steps(1,end) infinite!important;
  }
  .ggi-building-fire-v730{
    animation:ggi-flame-only-frames-v722 1.18s steps(1,end) infinite!important;
  }
}

/* v731 final visual authority — local water FX, repair/burn states, anchored
   water life, and a compact horizontal phone tray. All motion stays on the
   existing island clock/RAF; this block adds no timing authority in script. */

/* Safari must animate one complete local transform. Mixing transform with the
   individual translate/scale properties allowed a pooled splash to inherit a
   stale world-space component and streak across the viewport. */
.gg-island-splash-v687{
  left:0;
  top:0;
  width:42px!important;
  height:20px!important;
  margin:0!important;
  border:3px solid rgba(220,252,255,.94)!important;
  border-top-color:transparent!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  translate:none!important;
  rotate:none!important;
  scale:none!important;
  opacity:0;
  contain:layout paint style;
  will-change:auto!important;
}
.gg-island-splash-v687:before,
.gg-island-splash-v687:after{
  content:none!important;
  display:none!important;
  animation:none!important;
  filter:none!important;
}
.gg-island-splash-v687.show{
  animation:ggi-splash-local-v731 .58s cubic-bezier(.16,.72,.28,1) both!important;
}
@keyframes ggi-splash-local-v731{
  0%{transform:translate3d(-50%,-50%,0) rotate(var(--ggi-splash-angle,0deg)) scale(.34);opacity:.96}
  68%{transform:translate3d(-50%,-64%,0) rotate(var(--ggi-splash-angle,0deg)) scale(1.08);opacity:.72}
  100%{transform:translate3d(-50%,-78%,0) rotate(var(--ggi-splash-angle,0deg)) scale(1.42);opacity:0}
}

/* Four exact atlas cells. The root keeps path placement/rotation; the child
   alone changes frames so swimming can never disturb the world anchor. */
.ggi-turtle-v687.ggi-jewel-turtle-v731{
  width:116px!important;
  height:155px!important;
  overflow:hidden!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
  contain:layout paint style;
  transform-origin:50% 50%!important;
}
.ggi-turtle-v687.ggi-jewel-turtle-v731>:is(.flipper,.shell,.head){display:none!important}
.ggi-turtle-v687.ggi-jewel-turtle-v731 .ggi-turtle-sprite-v731{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  background:transparent url("island-jewel-turtle-atlas-v731.v747.webp") 0 0/400% 100% no-repeat;
  animation:ggi-turtle-swim-v731 .92s steps(1,end) infinite!important;
  transform:translateZ(0);
  transform-origin:50% 50%;
}
.ggi-turtle-v687.ggi-jewel-turtle-v731.idle-v731 .ggi-turtle-sprite-v731{
  animation:ggi-turtle-idle-v731 2.8s steps(1,end) infinite!important;
}
@keyframes ggi-turtle-swim-v731{
  0%,24%{background-position:0 0}
  25%,49%{background-position:33.333% 0}
  50%,74%{background-position:66.667% 0}
  75%,100%{background-position:100% 0}
}
@keyframes ggi-turtle-idle-v731{
  0%,39%,100%{background-position:0 0;translate:0 0}
  40%,69%{background-position:33.333% 0;translate:0 -2px}
  70%,99%{background-position:100% 0;translate:0 1px}
}

/* The night wash sits above the moving world. A strong, unfiltered radial
   center survives that wash while remaining cheaper than layered blur filters. */
.ggi-flightbug-v702{--ggi-bug-glow-v731:255,239,98}
.ggi-flightbug-v702.bug-color-1{--ggi-bug-glow-v731:105,255,179}
.ggi-flightbug-v702.bug-color-2{--ggi-bug-glow-v731:113,218,255}
body.ggi-island-night-v715 .ggi-flightbug-v702{filter:none!important}
body.ggi-island-night-v715 .ggi-flightbug-v702 .glow{
  left:-8px!important;
  top:-8px!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  opacity:1;
  background:radial-gradient(circle,rgba(var(--ggi-bug-glow-v731),1) 0 10%,rgba(var(--ggi-bug-glow-v731),.86) 11% 23%,rgba(var(--ggi-bug-glow-v731),.42) 35%,rgba(var(--ggi-bug-glow-v731),.12) 58%,transparent 72%)!important;
  box-shadow:0 0 9px 5px rgba(var(--ggi-bug-glow-v731),.78),0 0 24px 11px rgba(var(--ggi-bug-glow-v731),.34)!important;
  animation:ggi-flightbug-glow-v731 1.08s ease-in-out infinite alternate!important;
  transform-origin:50% 50%;
}
@keyframes ggi-flightbug-glow-v731{to{transform:scale(.78);opacity:.74}}

/* Cell two of the existing chicken atlas is the real eyes-closed pose. Keep
   only the dedicated v716 Z sprites so two sleep indicators cannot overlap. */
.ggi-chicken-v699.sleeping .ggi-chicken-sprite-v699{
  animation:none!important;
  background-position:-84px 0!important;
}
.ggi-chicken-v699.sleeping:after{content:none!important;display:none!important}
.ggi-chicken-v699.sleeping .ggi-chicken-zzz-v716{display:block!important}

/* JS supplies --ggi-egg-depth or an inline z-index from feet Y. This neutral
   fallback prevents an old fixed 5210 from painting every egg over the player. */
.ggi-egg-v697{z-index:var(--ggi-egg-depth,3000)}

/* Direction changes may mirror the net, but must not move its hand anchor. */
.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="butterflyNet"]{
  left:30%!important;
  top:26%!important;
  transform:scaleX(-1) rotate(-10deg)!important;
}

/* A uniquely named image is used on both pier planes so stale v727/v730 art
   cannot return through either the base img or the masked foreground copy. */
.ggi-lantern-pier-v716>img{content:url("island-lantern-pier-straight-v731.v747.webp")!important}
.ggi-lantern-pier-v716:before{
  background-image:url("island-lantern-pier-straight-v731.v747.webp")!important;
  background-position:0 0!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
}

/* The boat is anchored at the pier by JS. Only its art and small wake move;
   its hit position and world transform stay fixed. */
.ggi-anchored-boat-v731{
  position:absolute;
  left:var(--x);
  top:var(--y);
  z-index:var(--depth);
  width:238px;
  height:224px;
  overflow:visible;
  pointer-events:none;
  contain:layout style;
  transform:translate(-50%,-100%);
  transform-origin:50% 86%;
}
.ggi-anchored-boat-v731>img{
  position:absolute;
  z-index:2;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  -webkit-user-drag:none;
  animation:ggi-boat-bob-v731 3.2s ease-in-out infinite alternate;
  transform-origin:50% 82%;
}
.ggi-anchored-boat-v731 .ggi-boat-wake-v731{
  position:absolute;
  z-index:1;
  left:19px;
  right:15px;
  bottom:4px;
  height:37px;
  border:3px solid rgba(184,244,248,.66);
  border-left-color:transparent;
  border-right-color:transparent;
  border-radius:50%;
  opacity:.64;
  animation:ggi-boat-wake-v731 2.4s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes ggi-boat-bob-v731{to{transform:translate3d(0,4px,0) rotate(.65deg)}}
@keyframes ggi-boat-wake-v731{to{transform:scaleX(1.09) scaleY(.82);opacity:.34}}
body.gg-island-camera-moving-v693 .ggi-anchored-boat-v731 :is(img,.ggi-boat-wake-v731){animation-play-state:paused!important}

/* This asset is already a soft black alpha silhouette, so the tiki shadows
   follow the palm sun variables without runtime blur/filter composites. */
.ggi-fire-tiki-v716 .ggi-tiki-sun-shadow-v731{
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  pointer-events:none;
  opacity:var(--ggi-sun-shadow-opacity);
  transform:rotate(var(--ggi-sun-shadow-angle)) scaleY(var(--ggi-sun-shadow-length)) skewX(-6deg);
  transform-origin:50% 100%;
  transition:transform 1s linear,opacity 1s linear;
}
.ggi-fire-tiki-v716 .ggi-tiki-sun-shadow-v731>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  content:url("island-tiki-shadow-v731.png");
  pointer-events:none;
  -webkit-user-drag:none;
}
body.gg-island-camera-moving-v693 .ggi-fire-tiki-v716 .ggi-tiki-sun-shadow-v731{display:none!important}
body.ggi-lite-mode-v708 .ggi-fire-tiki-v716 .ggi-tiki-sun-shadow-v731{
  display:block;
  transition:none;
}

/* Burned buildings remain standing and usable; only their art becomes badly
   scorched. Salon and market also accept this CSS fallback if JS has not yet
   swapped their img src on the same state change. */
#ggIslandHomeV683[data-burn-state="burned"],
#ggIslandHomeV683.burned-v721,
.ggi-avatar-home-v721[data-burn-state="burned"]{
  background:url("island-avatar-home-burned-v731.v747.webp") 50% 100%/300px 347px no-repeat!important;
}
.ggi-goldie-salon-scene-v719[data-burn-state="burned"] .ggi-goldie-salon-sprite-v715,
.ggi-goldie-salon-scene-v719.burned-v721 .ggi-goldie-salon-sprite-v715{
  content:url("island-goldie-salon-burned-v731.v747.webp")!important;
}
.ggi-market-scene-v720[data-burn-state="burned"] .ggi-shipwreck-sprite-v712,
.ggi-market-scene-v720.burned-v721 .ggi-shipwreck-sprite-v712{
  content:url("island-shipwreck-shop-burned-v731.v747.webp")!important;
}

/* Umbrellas retain the canopy while burning, then leave only a pole/rib frame. */
.ggi-umbrella-v697 .ggi-umbrella-frame-v731{
  position:absolute;
  z-index:4;
  inset:0;
  display:none;
  pointer-events:none;
}
.ggi-umbrella-v697 .ggi-umbrella-frame-v731:before{
  content:"";
  position:absolute;
  left:84px;
  top:39px;
  width:8px;
  height:132px;
  border-radius:6px;
  background:linear-gradient(90deg,#271d18,#806548 48%,#2d211b);
}
.ggi-umbrella-v697 .ggi-umbrella-frame-v731:after{
  content:"";
  position:absolute;
  left:14px;
  top:14px;
  width:140px;
  height:69px;
  border:4px solid #30231d;
  border-bottom-width:3px;
  border-radius:76px 76px 18px 18px;
  background:repeating-conic-gradient(from 268deg at 50% 100%,transparent 0 11.8%,#3d2b22 12% 12.8%,transparent 13% 24.8%);
  opacity:.92;
}
.ggi-umbrella-v697 .ggi-burn-fire-v731{
  position:absolute;
  z-index:6;
  left:46px;
  top:-23px;
  display:none;
  width:84px;
  height:112px;
  pointer-events:none;
  background:transparent url("island-flame-only-v722.v747.webp") 0 0/400% 100% no-repeat;
  animation:ggi-flame-only-frames-v722 .8s steps(1,end) infinite;
}
.ggi-umbrella-v697:is([data-burn-state="burning"],.burning-v721) .ggi-burn-fire-v731{display:block}
.ggi-umbrella-v697:is([data-burn-state="burned"],.burned-v721) :is(.ggi-umbrella-canopy-v713,.ggi-umbrella-false-shadow-v713){display:none!important}
.ggi-umbrella-v697:is([data-burn-state="burned"],.burned-v721) .ggi-umbrella-frame-v731{display:block}

/* Skull palms use one small flame atlas over the crown. A collected fire skull
   reuses that same four-frame flame behind its mask/collectible art. */
.ggi-burnable-palm-v731 .ggi-palm-burn-fire-v731{
  position:absolute;
  z-index:5;
  left:38px;
  top:-31px;
  display:none;
  width:94px;
  height:126px;
  pointer-events:none;
  background:transparent url("island-flame-only-v722.v747.webp") 0 0/400% 100% no-repeat;
  animation:ggi-flame-only-frames-v722 .76s steps(1,end) infinite;
}
.ggi-burnable-palm-v731:is([data-burn-state="burning"],.burning-v721) .ggi-palm-burn-fire-v731{display:block}
.ggi-burnable-palm-v731:is([data-burn-state="burned"],.burned-v721) .ggi-palm-motion-v696>img{
  filter:grayscale(.9) brightness(.4) sepia(.35)!important;
  opacity:.82;
}
.ggi-fire-skull-v731{position:relative;isolation:isolate;overflow:visible!important}
.ggi-fire-skull-v731 .ggi-fire-skull-flame-v731{
  position:absolute;
  z-index:-1;
  left:50%;
  top:43%;
  width:88%;
  aspect-ratio:112/150;
  translate:-50% -76%;
  pointer-events:none;
  background:transparent url("island-flame-only-v722.v747.webp") 0 0/400% 100% no-repeat;
  animation:ggi-flame-only-frames-v722 .72s steps(1,end) infinite;
}

/* Two-second repair feedback and restored-growth art. These effects animate
   only opacity/scale or a four-cell background, never a world transform. */
@property --ggi-repair-angle-v731{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
.ggi-repair-hold-v731{
  --ggi-repair-angle-v731:0deg;
  position:absolute;
  left:var(--x);
  top:var(--y);
  z-index:9062;
  width:74px;
  height:74px;
  border-radius:50%;
  pointer-events:none;
  background:conic-gradient(#fff5a3 0 var(--ggi-repair-angle-v731),rgba(79,61,104,.42) var(--ggi-repair-angle-v731) 360deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));
  animation:ggi-repair-hold-v731 2s linear forwards;
  transform:translate(-50%,-50%);
}
@keyframes ggi-repair-hold-v731{to{--ggi-repair-angle-v731:360deg}}
.ggi-repair-effect-v731{
  position:absolute;
  left:var(--x);
  top:var(--y);
  z-index:5400;
  width:130px;
  height:130px;
  border:3px solid rgba(255,244,154,.88);
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle,rgba(255,250,183,.62) 0 4%,transparent 6%),radial-gradient(circle at 22% 28%,#fff5a3 0 3%,transparent 4%),radial-gradient(circle at 78% 34%,#d9baff 0 3%,transparent 4%),radial-gradient(circle at 64% 80%,#bffff0 0 3%,transparent 4%);
  animation:ggi-repair-bloom-v731 .92s ease-out both;
  contain:layout paint style;
  transform:translate(-50%,-50%);
}
@keyframes ggi-repair-bloom-v731{
  0%{scale:.28;opacity:0}
  24%{opacity:1}
  100%{scale:1.28;opacity:0}
}
.ggi-flower-grass-v699.repairing-v731 .grass-motion{
  opacity:1!important;
  background:transparent url("island-flower-grass-grow-v731.v747.webp") 0 0/400% 100% no-repeat!important;
  animation:ggi-flower-grow-v731 1.12s steps(1,end) both!important;
}
.ggi-flower-grass-v699.repairing-v731 .grass-motion>img{opacity:0!important}
.ggi-flower-grass-v699.repairing-v731:after{opacity:0!important}
@keyframes ggi-flower-grow-v731{
  0%,24%{background-position:0 0}
  25%,49%{background-position:33.333% 0}
  50%,74%{background-position:66.667% 0}
  75%,100%{background-position:100% 0}
}
.ggi-pink-tree-v716.ggi-burn-swap-v731 .ggi-pink-tree-sprite-v716{
  animation:ggi-pink-burn-swap-v731 .5s steps(1,end) both!important;
}
@keyframes ggi-pink-burn-swap-v731{
  0%,84%{opacity:0}
  85%,100%{opacity:1}
}

/* Book Bag, Commands, and Equipment share one finite horizontal tray above
   the money/level gauges. Its ancestor remains the small right-side tab rail. */
.gg-island-tool-dock-v689.ggi-tool-open-v712{
  width:58px!important;
  max-height:none!important;
  overflow:visible!important;
}
.ggi-bottom-tray-v731,
.ggi-smart-drawer-v710.ggi-bottom-tray-v731{
  position:fixed!important;
  z-index:9090!important;
  left:max(8px,env(safe-area-inset-left))!important;
  right:max(70px,calc(env(safe-area-inset-right) + 64px))!important;
  top:auto!important;
  bottom:max(76px,calc(env(safe-area-inset-bottom) + 69px))!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  max-height:min(184px,29svh)!important;
  margin:0!important;
  padding:8px!important;
  overflow:hidden!important;
  border:1px solid #68717b!important;
  border-radius:15px!important;
  background:linear-gradient(150deg,rgba(247,249,250,.98),rgba(172,183,195,.98))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.9),0 9px 22px rgba(0,0,0,.34)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  pointer-events:auto!important;
  overscroll-behavior:contain;
}
.ggi-bottom-tray-v731[hidden]{display:none!important}
.ggi-bottom-tray-v731>header{margin:0 2px 7px!important}
.ggi-bottom-tray-v731 .ggi-tray-track-v731{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
  max-height:126px!important;
  padding:1px 2px 6px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity;
  scroll-padding-inline:2px;
  overscroll-behavior-x:contain;
  touch-action:pan-x!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.ggi-bottom-tray-v731 .ggi-tray-track-v731::-webkit-scrollbar{display:none}
.ggi-bottom-tray-v731 .ggi-tray-track-v731>*{
  flex:0 0 min(164px,43vw)!important;
  min-width:0!important;
  max-height:116px;
  scroll-snap-align:start;
}

/* No island hold may invoke Safari selection, callout, image drag, or the
   translucent native tap rectangle. Keyboard focus outlines remain intact. */
.gg-island-viewport-v682,
.gg-island-world-v682,
.gg-island-world-v682 *,
.gg-island-tool-dock-v689,
.gg-island-tool-dock-v689 *{
  -webkit-tap-highlight-color:transparent!important;
  -webkit-touch-callout:none!important;
  -webkit-user-select:none!important;
  user-select:none!important;
}
.gg-island-world-v682 img{-webkit-user-drag:none!important;user-drag:none!important}

/* Requested sprite states remain readable for players using iOS Reduce Motion,
   but run slower and never restore broad scenery animation. */
@media(prefers-reduced-motion:reduce){
  .gg-island-splash-v687.show{
    animation:ggi-splash-local-v731 .78s cubic-bezier(.16,.72,.28,1) both!important;
  }
  .ggi-butterfly-v707.species-0 .ggi-butterfly-sprite-v707{
    animation:ggi-butterfly-pink-v707 1.12s steps(1,end) infinite!important;
  }
  .ggi-butterfly-v707.species-1 .ggi-butterfly-sprite-v707{
    animation:ggi-butterfly-orange-v707 1.12s steps(1,end) infinite!important;
  }
  .ggi-turtle-v687.ggi-jewel-turtle-v731 .ggi-turtle-sprite-v731{
    animation:ggi-turtle-swim-v731 1.8s steps(1,end) infinite!important;
  }
  .ggi-turtle-v687.ggi-jewel-turtle-v731.idle-v731 .ggi-turtle-sprite-v731{
    animation:ggi-turtle-idle-v731 4.4s steps(1,end) infinite!important;
  }
  body.ggi-island-night-v715 .ggi-flightbug-v702 .glow{
    animation:ggi-flightbug-glow-v731 1.8s ease-in-out infinite alternate!important;
  }
  .ggi-chicken-v699.sleeping .chicken-motion{
    animation:ggi-animal-sleep-v700 3.4s ease-in-out infinite alternate!important;
  }
  .ggi-chicken-v699.sleeping .ggi-chicken-zzz-v716 i{
    animation:ggi-chicken-zzz-rise-v716 3.2s ease-out infinite!important;
  }
  .ggi-anchored-boat-v731>img{animation:ggi-boat-bob-v731 5.2s ease-in-out infinite alternate!important}
  .ggi-anchored-boat-v731 .ggi-boat-wake-v731{animation:ggi-boat-wake-v731 4s ease-in-out infinite alternate!important}
  :is(.ggi-umbrella-v697 .ggi-burn-fire-v731,.ggi-burnable-palm-v731 .ggi-palm-burn-fire-v731,.ggi-fire-skull-v731 .ggi-fire-skull-flame-v731){
    animation:ggi-flame-only-frames-v722 1.18s steps(1,end) infinite!important;
  }
  .ggi-repair-hold-v731{animation:ggi-repair-hold-v731 2s linear forwards!important}
  .ggi-repair-effect-v731{animation:ggi-repair-bloom-v731 1.25s ease-out both!important}
  .ggi-flower-grass-v699.repairing-v731 .grass-motion{animation:ggi-flower-grow-v731 1.6s steps(1,end) both!important}
  .ggi-pink-tree-v716.ggi-burn-swap-v731 .ggi-pink-tree-sprite-v716{animation:ggi-pink-burn-swap-v731 .5s steps(1,end) both!important}
}

/* v731 wand hand anchor and animated Island presentation of the fire-skull unlock. */
.ggi-equipped-tool-v690[data-tool="magicWand"]{
  left:42%!important;
  top:31%!important;
  width:76px!important;
  height:76px!important;
  z-index:84!important;
  transform:rotate(-13deg)!important;
  transform-origin:28% 82%!important;
}
.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="magicWand"]{
  left:28%!important;
  transform:scaleX(-1) rotate(-13deg)!important;
}
.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="magicWand"]{z-index:4!important}
.ggi-magic-wand-icon-v731{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 3px 2px rgba(39,22,43,.35))}
.gg-island-avatar-art-v682 .gg-fire-skull-flame-v731,
.ggi-remote-avatar-v706 .gg-fire-skull-flame-v731{
  transform-box:fill-box;
  transform-origin:50% 100%;
  animation:ggi-avatar-fire-skull-v731 .72s steps(3,end) infinite alternate;
}
.gg-island-avatar-art-v682 .gg-fire-skull-flame-v731.flame-b,
.ggi-remote-avatar-v706 .gg-fire-skull-flame-v731.flame-b{animation-delay:-.23s}
.gg-island-avatar-art-v682 .gg-fire-skull-flame-v731.flame-c,
.ggi-remote-avatar-v706 .gg-fire-skull-flame-v731.flame-c{animation-delay:-.41s}
@keyframes ggi-avatar-fire-skull-v731{to{transform:translateY(-3px) scaleX(.87);opacity:.82}}
@media(prefers-reduced-motion:reduce){
  .gg-island-avatar-art-v682 .gg-fire-skull-flame-v731,
  .ggi-remote-avatar-v706 .gg-fire-skull-flame-v731{animation-duration:1.35s!important}
}

/* v732 — three cooked chickens inside three minutes enrage the flock for
   thirty seconds. The chase reuses the existing NPC sprites and adds no
   interval timers, particle pools, or full-screen animation layers. */
.ggi-chicken-v699.ggi-swarming-v732{
  filter:drop-shadow(0 5px 3px rgba(46,20,18,.38)) drop-shadow(0 0 7px rgba(255,78,36,.62))!important;
}
.ggi-chicken-v699.ggi-swarming-v732 .chicken-motion{
  animation:ggi-chicken-swarm-hop-v732 .2s ease-in-out infinite alternate!important;
}
.ggi-chicken-v699.ggi-swarming-v732:not(.facing-back) .ggi-chicken-sprite-v699{
  animation:ggi-chicken-walk-sprite-v699 .24s steps(1,end) infinite!important;
}
.ggi-chicken-v699.ggi-swarming-v732.facing-back .ggi-chicken-sprite-v699{
  animation:ggi-chicken-back-walk-sprite-v699 .24s steps(1,end) infinite!important;
}
.ggi-chicken-v699.ggi-swarming-v732.ggi-swarm-hit-v732 .chicken-motion{
  animation:ggi-chicken-swarm-hit-v732 .26s ease-out both!important;
}
body.gg-island-camera-moving-v693 .ggi-chicken-v699.ggi-swarming-v732 :is(.chicken-motion,.ggi-chicken-sprite-v699){
  animation-play-state:running!important;
}
@keyframes ggi-chicken-swarm-hop-v732{to{translate:0 -7px;rotate:4deg}}
@keyframes ggi-chicken-swarm-hit-v732{0%{translate:0 0;scale:1}45%{translate:8px -5px;scale:1.14}100%{translate:0 0;scale:1}}

body.ggi-chicken-swarm-v732 .gg-island-viewport-v682{
  box-shadow:inset 0 0 0 4px rgba(204,55,37,.42),inset 0 0 30px rgba(153,35,26,.19)!important;
}
.gg-island-avatar-v682.ggi-chicken-stunned-v732:after{
  content:"★  ✦  ★";
  position:absolute;
  z-index:110;
  left:50%;
  top:-16px;
  translate:-50% 0;
  width:max-content;
  color:#ffe56c;
  font:950 20px/1 Georgia,serif;
  letter-spacing:3px;
  text-shadow:0 2px 2px #5f2720,0 0 8px #ff812e;
  pointer-events:none;
  animation:ggi-chicken-stun-stars-v732 .34s ease-in-out infinite alternate!important;
}
.gg-island-avatar-v682.ggi-chicken-stunned-v732 .gg-island-avatar-art-v682{
  animation:ggi-chicken-stun-avatar-v732 .14s steps(2,end) infinite!important;
}
@keyframes ggi-chicken-stun-stars-v732{to{translate:-50% -6px;rotate:7deg;scale:1.08}}
@keyframes ggi-chicken-stun-avatar-v732{0%{translate:-3px 0}100%{translate:3px 0}}

@media(prefers-reduced-motion:reduce){
  .ggi-chicken-v699.ggi-swarming-v732 .chicken-motion{animation:ggi-chicken-swarm-hop-v732 .42s ease-in-out infinite alternate!important}
  .ggi-chicken-v699.ggi-swarming-v732 .ggi-chicken-sprite-v699{animation-duration:.48s!important}
  .gg-island-avatar-v682.ggi-chicken-stunned-v732 .gg-island-avatar-art-v682{animation:none!important}
  .gg-island-avatar-v682.ggi-chicken-stunned-v732:after{animation:none!important}
}

/* v733 — pet event guidance, persistent lighthouse current repair, and a
   clear-blue ocean built from one static canvas plus the existing local surf
   pool. No full-world animation or extra timer loop is introduced. */
.gg-island-world-v682{background:#087cab!important}
.gg-island-water-motion-v686{opacity:0!important;animation:none!important;background:none!important}

.ggi-surf-sprite-v701:before,.ggi-surf-sprite-v701:after{content:"";position:absolute;left:7px;top:20px;width:128px;height:38px;border:3px solid rgba(237,253,255,.82);border-left-color:transparent;border-right-color:transparent;border-bottom-color:rgba(207,247,251,.36);border-radius:50%;filter:drop-shadow(0 1px 1px rgba(21,126,164,.38));opacity:0;animation:ggi-near-water-wave-v733 2.45s ease-out var(--surf-delay,0s) infinite;pointer-events:none}
.ggi-surf-sprite-v701:after{left:31px;top:28px;width:82px;height:24px;border-width:2px;animation-delay:calc(var(--surf-delay,0s) - .82s);opacity:0}
@keyframes ggi-near-water-wave-v733{0%{transform:translateY(var(--surf-water,9px)) scale(.58,.68);opacity:0}20%{opacity:.76}58%{opacity:.54}100%{transform:translateY(var(--surf-travel,42px)) scale(1.2,1.08);opacity:0}}

.ggi-pet-hint-v733{position:absolute;z-index:80;left:50%;bottom:calc(100% + 13px);width:clamp(178px,48vw,238px);padding:10px 12px;border:2px solid #49351f;border-radius:16px;background:linear-gradient(145deg,#fff2b0,#d6a943 70%,#9a6623);color:#21170d;box-shadow:inset 0 1px rgba(255,255,255,.78),0 8px 20px rgba(0,0,0,.38);transform:translate(-50%,8px) scale(.95);transform-origin:50% 100%;opacity:0;pointer-events:none;text-align:left;font-family:system-ui,sans-serif;transition:opacity .16s ease,transform .16s ease}
.ggi-pet-hint-v733[hidden]{display:none!important}.ggi-pet-hint-v733.show{opacity:1;transform:translate(-50%,0) scale(1)}
.ggi-pet-hint-v733:after{content:"";position:absolute;left:50%;bottom:-9px;width:16px;height:16px;background:#b9812d;border-right:2px solid #49351f;border-bottom:2px solid #49351f;transform:translateX(-50%) rotate(45deg)}
.ggi-pet-hint-v733 strong,.ggi-pet-hint-v733 span{display:block;position:relative;z-index:1}.ggi-pet-hint-v733 strong{margin-bottom:4px;color:#55296f;font:950 10px/1 system-ui;letter-spacing:.09em;text-transform:uppercase}.ggi-pet-hint-v733 span{font:850 12px/1.3 system-ui}

.ggi-lighthouse-v714 .beam,.ggi-lighthouse-v714 .ggi-lighthouse-glow-v709,.ggi-lighthouse-v714 .ggi-lighthouse-window-lights-v715{transition:opacity .3s ease!important}
.ggi-lighthouse-v714.ggi-lighthouse-off-v733 .beam,.ggi-lighthouse-v714.ggi-lighthouse-off-v733 .ggi-lighthouse-glow-v709,.ggi-lighthouse-v714.ggi-lighthouse-off-v733 .ggi-lighthouse-window-lights-v715{opacity:0!important}
.ggi-lighthouse-v714.ggi-lighthouse-off-v733 .ggi-lighthouse-sprite-v709{filter:brightness(.64) saturate(.54) contrast(1.08) drop-shadow(0 13px 7px rgba(0,0,0,.44))!important}
.ggi-lighthouse-fault-v733{position:absolute;z-index:7;left:94px;bottom:71px;width:82px;height:62px;display:none;place-items:center;border:4px solid #342219;border-radius:15px;background:linear-gradient(145deg,#a76727,#542c24);box-shadow:inset 0 0 0 3px #d5a63e,0 7px 10px rgba(0,0,0,.4);color:#ffe26d;pointer-events:none}
.ggi-lighthouse-off-v733 .ggi-lighthouse-fault-v733{display:grid}.ggi-lighthouse-fault-v733 i{position:absolute;inset:9px;border:3px dashed #1b1718;border-radius:9px}.ggi-lighthouse-fault-v733 b{font:1000 25px/1 Georgia,serif;text-shadow:0 2px #511b16}.ggi-lighthouse-fault-v733 small{position:absolute;bottom:5px;font:950 7px/1 system-ui;letter-spacing:.12em}
.ggi-lighthouse-restart-v733 .ggi-lighthouse-glow-v709{animation:ggi-lighthouse-restart-v733 1.25s ease-out both!important}
@keyframes ggi-lighthouse-restart-v733{0%{opacity:0;scale:.25}30%{opacity:1;scale:1.45;filter:brightness(1.65)}100%{scale:1;filter:none}}

.ggi-lighthouse-repair-modal-v733{position:fixed;z-index:12020;inset:0;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom));background:rgba(2,12,19,.84);backdrop-filter:blur(7px)}
.ggi-lighthouse-repair-modal-v733[hidden]{display:none!important}.ggi-lighthouse-repair-modal-v733>section{width:min(94vw,470px);max-height:94dvh;overflow:auto;padding:14px;border:3px solid #8c682c;border-radius:24px;background:radial-gradient(circle at 50% -10%,rgba(31,112,118,.55),transparent 43%),linear-gradient(160deg,#163944,#081b25 68%,#050f17);box-shadow:inset 0 0 0 2px rgba(246,203,96,.18),0 22px 60px rgba(0,0,0,.62);color:#effaff}
.ggi-lighthouse-repair-head-v733{display:grid;grid-template-columns:55px 1fr 42px;align-items:center;gap:10px;margin-bottom:12px}.ggi-lighthouse-repair-head-v733 small{color:#8ff2c6;font:950 9px/1 system-ui;letter-spacing:.16em}.ggi-lighthouse-repair-head-v733 h2{margin:3px 0 0;color:#fff2b5;font:950 1.35rem/1.05 Georgia,serif}.ggi-lighthouse-repair-head-v733>button{width:42px;height:42px;padding:0;border:2px solid #86662f;border-radius:50%;background:linear-gradient(#f0d273,#9d6924);color:#171413;font:1000 24px/1 system-ui}
.ggi-lighthouse-repair-crest-v733{position:relative;width:52px;height:52px;display:grid;place-items:center;border:3px solid #7b572a;border-radius:15px;background:#102a34;box-shadow:inset 0 0 0 2px #cf9e3d}.ggi-lighthouse-repair-crest-v733 i{position:absolute;inset:7px;border:2px dashed #59caa9;border-radius:9px}.ggi-lighthouse-repair-crest-v733 b{position:relative;font-size:25px;color:#e7d7ad;text-shadow:0 2px #151317}
.ggi-lighthouse-voltage-v733{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-bottom:12px;padding:9px;border:2px solid #294e59;border-radius:14px;background:rgba(4,17,25,.82);box-shadow:inset 0 0 16px rgba(52,220,160,.08)}.ggi-lighthouse-voltage-v733>span{display:grid;gap:2px;color:#8edfc7;font:900 7px/1 system-ui;letter-spacing:.08em}.ggi-lighthouse-voltage-v733>span:last-child{text-align:right}.ggi-lighthouse-voltage-v733 b{color:#83ff83;font:1000 19px/1 ui-monospace,monospace;text-shadow:0 0 8px rgba(71,255,130,.6)}.ggi-lighthouse-voltage-v733>div{height:20px;display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:4px;border:1px solid #3a6670;border-radius:7px;background:#07151c}.ggi-lighthouse-voltage-v733>div i{border-radius:2px;background:#19373e;box-shadow:inset 0 0 0 1px #254d55}.ggi-lighthouse-voltage-v733>div i.powered{background:#58f474;box-shadow:0 0 7px rgba(73,255,125,.68)}
.ggi-lighthouse-circuit-v733{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px;border:3px solid #31555f;border-radius:18px;background-color:#071a23;background-image:linear-gradient(rgba(91,175,176,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(91,175,176,.055) 1px,transparent 1px);background-size:18px 18px;box-shadow:inset 0 0 24px rgba(0,0,0,.7)}
.ggi-circuit-tile-v733,.ggi-circuit-plate-v733{position:relative;aspect-ratio:1;min-width:0;border:3px solid #77572b;border-radius:22%;background:linear-gradient(145deg,#25434b,#102932 66%,#091b24);box-shadow:inset 0 0 0 2px rgba(205,158,66,.2),0 3px 5px rgba(0,0,0,.42);overflow:hidden}.ggi-circuit-tile-v733{padding:0;appearance:none;-webkit-appearance:none;touch-action:manipulation}.ggi-circuit-tile-v733:focus-visible{outline:3px solid #fff08a;outline-offset:2px}.ggi-circuit-tile-v733:before,.ggi-circuit-plate-v733:before,.ggi-circuit-plate-v733:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#d0a043;box-shadow:0 0 0 1px #342514}.ggi-circuit-tile-v733:before,.ggi-circuit-plate-v733:before{left:5px;top:5px}.ggi-circuit-plate-v733:after{right:5px;bottom:5px}
.ggi-circuit-arm-v733{position:absolute;z-index:1;left:50%;top:calc(50% - 5px);width:52%;height:10px;display:block;border:2px solid #2f1c14;border-left:0;border-radius:0 7px 7px 0;background:linear-gradient(#e1af49,#8c5423 55%,#4f2d1a);transform-origin:0 50%;box-shadow:0 0 0 1px rgba(230,185,86,.14)}.ggi-circuit-arm-v733[hidden]{display:none!important}.ggi-circuit-arm-v733.e{transform:rotate(0)}.ggi-circuit-arm-v733.s{transform:rotate(90deg)}.ggi-circuit-arm-v733.w{transform:rotate(180deg)}.ggi-circuit-arm-v733.n{transform:rotate(270deg)}
.ggi-circuit-core-v733{position:absolute;z-index:2;left:50%;top:50%;width:23px;height:23px;border:3px solid #3b2417;border-radius:50%;background:radial-gradient(circle,#e6b54d 0 30%,#81501f 33% 62%,#271c18 65%);transform:translate(-50%,-50%)}.ggi-circuit-marker-v733{position:absolute;z-index:3;left:50%;top:50%;translate:-50% -50%;color:#161a18;font:1000 15px/1 system-ui}.ggi-circuit-tile-v733.source .ggi-circuit-marker-v733:after{content:"⚡"}.ggi-circuit-tile-v733.target .ggi-circuit-marker-v733:after{content:"◆"}
.ggi-circuit-tile-v733.powered{border-color:#68d88c;box-shadow:inset 0 0 0 2px rgba(119,255,155,.22),0 0 12px rgba(66,255,127,.34)}.ggi-circuit-tile-v733.powered .ggi-circuit-arm-v733{background:linear-gradient(#a9ff9d,#4bf271 56%,#198f5b);box-shadow:0 0 8px rgba(73,255,127,.75)}.ggi-circuit-tile-v733.powered .ggi-circuit-core-v733{border-color:#174a35;background:radial-gradient(circle,#e6ff9a 0 25%,#4af477 31% 66%,#116745 70%);box-shadow:0 0 10px rgba(84,255,130,.9)}
.ggi-circuit-plate-v733{display:grid;place-items:center;opacity:.68}.ggi-circuit-plate-v733>i{position:absolute;inset:16%;border:2px dashed #42616a;border-radius:25%}.ggi-circuit-plate-v733>b{position:relative;color:#70583e;font:900 22px/1 Georgia,serif;text-shadow:0 1px #050a0d}
.ggi-lighthouse-repair-modal-v733>section>p{min-height:32px;margin:10px 4px;color:#d7e7e7;font:800 12px/1.3 system-ui;text-align:center}.ggi-lighthouse-repair-modal-v733.solved>section>p{color:#9dffad;text-shadow:0 0 8px rgba(79,255,119,.48)}.ggi-lighthouse-repair-modal-v733 footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ggi-lighthouse-repair-modal-v733 footer button{min-height:46px;padding:9px;border:2px solid #74572a;border-radius:12px;background:linear-gradient(#f1d77b,#a66f25);color:#1d160d;font:950 11px/1.1 system-ui;letter-spacing:.04em}.ggi-lighthouse-repair-modal-v733 footer button:last-child{border-color:#53636b;background:linear-gradient(#eef3f4,#9dabb1);color:#11191d}

body.ggi-lite-mode-v708 .ggi-surf-sprite-v701:after{display:none}.ggi-lite-mode-v708 .ggi-surf-sprite-v701:before{animation-duration:3.2s}
@media(max-width:430px){.ggi-lighthouse-repair-modal-v733>section{padding:11px}.ggi-lighthouse-repair-head-v733{grid-template-columns:46px 1fr 40px}.ggi-lighthouse-repair-crest-v733{width:44px;height:44px}.ggi-lighthouse-circuit-v733{gap:5px;padding:7px}.ggi-circuit-tile-v733,.ggi-circuit-plate-v733{border-width:2px}.ggi-lighthouse-voltage-v733{gap:6px}.ggi-pet-hint-v733{width:190px}}
@media(prefers-reduced-motion:reduce){.ggi-surf-sprite-v701:before,.ggi-surf-sprite-v701:after{animation-duration:4s!important}.ggi-lighthouse-restart-v733 .ggi-lighthouse-glow-v709{animation:none!important}.ggi-pet-hint-v733{transition:none}}

/* v734 — clean moving tide ribbons, anchored boat/turtle wakes, and one
   full-width bottom tray emitted after the complete three-button tab rail. */
.ggi-surf-v701{overflow:visible!important}
.ggi-surf-motion-v701{
  inset:-2px -30px!important;
  transform-origin:50% 50%!important;
  animation:ggi-water-ribbon-drift-v734 3.05s cubic-bezier(.2,.54,.28,1) var(--surf-delay,0s) infinite!important;
  will-change:transform,opacity;
}
.ggi-surf-motion-v701:after,.ggi-surf-sprite-v701:before,.ggi-surf-sprite-v701:after{content:none!important;display:none!important}
.ggi-surf-sprite-v701{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  border:0!important;
  background:transparent url("island-water-ripple-v734.svg") 50% 50%/100% 100% no-repeat!important;
  filter:none!important;
  opacity:.86;
  animation:none!important;
  transform:none!important;
}
@keyframes ggi-water-ribbon-drift-v734{
  0%{transform:translate3d(-12px,var(--surf-water,7px),0) scale(.68,.56);opacity:0}
  22%{opacity:.5}
  52%{transform:translate3d(0,var(--surf-crest,-6px),0) scale(.94,.82);opacity:.92}
  76%{opacity:.65}
  100%{transform:translate3d(13px,var(--surf-travel,22px),0) scale(1.12,.9);opacity:0}
}

.ggi-anchored-boat-v734 .ggi-boat-motion-v734{
  position:absolute;
  z-index:2;
  inset:0;
  display:block;
  transform-origin:50% 84%;
  animation:ggi-boat-idle-v734 3.8s ease-in-out infinite;
  will-change:transform;
}
.ggi-anchored-boat-v734 .ggi-boat-motion-v734>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  -webkit-user-drag:none;
}
.ggi-anchored-boat-v734 .ggi-water-wake-v734{
  position:absolute!important;
  z-index:1!important;
  left:-20px!important;
  right:auto!important;
  bottom:-17px!important;
  width:278px!important;
  height:84px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent url("island-water-ripple-v734.svg") 50% 50%/100% 100% no-repeat!important;
  opacity:0;
  filter:none!important;
  transform-origin:50% 45%;
  animation:ggi-boat-water-ripple-v734 2.7s ease-out infinite!important;
  pointer-events:none;
}
.ggi-anchored-boat-v734 .ggi-water-wake-v734:after{
  content:"";
  position:absolute;
  inset:13px 38px;
  background:inherit;
  opacity:0;
  animation:ggi-boat-water-ripple-v734 2.7s ease-out -1.35s infinite;
}
@keyframes ggi-boat-idle-v734{
  0%,100%{transform:translate3d(0,2px,0) rotate(-1.25deg)}
  28%{transform:translate3d(-1px,-4px,0) rotate(.75deg)}
  56%{transform:translate3d(1px,-1px,0) rotate(1.3deg)}
  78%{transform:translate3d(0,4px,0) rotate(-.45deg)}
}
@keyframes ggi-boat-water-ripple-v734{
  0%{transform:translate3d(0,-5px,0) scale(.52,.48);opacity:0}
  24%{opacity:.7}
  70%{opacity:.5}
  100%{transform:translate3d(0,15px,0) scale(1.08,.84);opacity:0}
}
body.gg-island-camera-moving-v693 .ggi-anchored-boat-v734 .ggi-boat-motion-v734,
body.gg-island-camera-moving-v693 .ggi-anchored-boat-v734 .ggi-water-wake-v734,
body.gg-island-camera-moving-v693 .ggi-anchored-boat-v734 .ggi-water-wake-v734:after{animation-play-state:running!important}

.ggi-turtle-v687.ggi-jewel-turtle-v734{overflow:visible!important}
.ggi-turtle-v687.ggi-jewel-turtle-v734 .ggi-turtle-sprite-v731{z-index:2}
.ggi-turtle-v687.ggi-jewel-turtle-v734 .ggi-turtle-wake-v734{
  position:absolute;
  z-index:1;
  left:50%;
  top:68%;
  width:154px;
  height:55px;
  background:transparent url("island-water-ripple-v734.svg") 50% 50%/100% 100% no-repeat;
  transform-origin:50% 0;
  animation:ggi-turtle-water-ripple-v734 1.65s ease-out infinite;
  pointer-events:none;
  will-change:transform,opacity;
}
.ggi-turtle-v687.ggi-jewel-turtle-v734.idle-v731 .ggi-turtle-wake-v734{opacity:0!important;animation-play-state:paused!important}
@keyframes ggi-turtle-water-ripple-v734{
  0%{transform:translate3d(-50%,0,0) scale(.42,.42);opacity:0}
  22%{opacity:.64}
  72%{opacity:.42}
  100%{transform:translate3d(-50%,31px,0) scale(1.02,.74);opacity:0}
}
body.gg-island-camera-moving-v693 .ggi-turtle-v687.ggi-jewel-turtle-v734:not(.idle-v731) :is(.ggi-turtle-sprite-v731,.ggi-turtle-wake-v734){animation-play-state:running!important}

.gg-island-tool-dock-v689.ggi-tool-open-v712{
  width:58px!important;
  max-height:none!important;
  overflow:visible!important;
}
.ggi-tool-tabs-v710{position:relative!important;z-index:9095!important}
.ggi-bottom-tray-v734,
.ggi-smart-drawer-v710.ggi-bottom-tray-v734,
.gg-island-tool-dock-v689[data-drawer-x] .ggi-bottom-tray-v734,
#ggiToolPanelinventory.ggi-bottom-tray-v734{
  position:fixed!important;
  z-index:9082!important;
  left:max(6px,env(safe-area-inset-left))!important;
  right:max(6px,env(safe-area-inset-right))!important;
  top:auto!important;
  bottom:max(78px,calc(env(safe-area-inset-bottom) + 70px))!important;
  width:auto!important;
  max-width:none!important;
  height:min(182px,27svh)!important;
  max-height:min(182px,27svh)!important;
  margin:0!important;
  padding:7px!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid #626b75!important;
  border-radius:16px!important;
  background:linear-gradient(150deg,#f8fafb,#b8c2cc 58%,#929eaa)!important;
  box-shadow:inset 0 1px #fff,0 10px 24px rgba(0,0,0,.36)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  pointer-events:auto!important;
}
.ggi-bottom-tray-v734>header{
  min-height:44px;
  margin:0!important;
  padding:1px 2px 5px 7px!important;
  border:0!important;
  border-bottom:1px solid rgba(76,84,94,.38)!important;
  background:transparent!important;
}
.ggi-bottom-tray-v734>header button{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}
.ggi-bottom-tray-v734 .ggi-tool-panel-content-v710{min-height:0!important;padding:7px 1px 0!important;overflow:hidden!important}
.ggi-bottom-tray-v734 .ggi-tray-track-v731{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  gap:7px!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  padding:2px 5px 7px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  scroll-padding-inline:5px!important;
  overscroll-behavior-x:contain!important;
  touch-action:pan-x!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.ggi-bottom-tray-v734 .ggi-tray-track-v731::-webkit-scrollbar{display:none}
.ggi-bottom-tray-v734 .ggi-tray-track-v731>*{
  flex:0 0 clamp(116px,31vw,148px)!important;
  min-width:0!important;
  max-width:148px!important;
  height:auto!important;
  max-height:none!important;
  scroll-snap-align:center!important;
}
.ggi-bottom-tray-v734 .ggi-equipment-card-v690{grid-template-columns:31px minmax(0,1fr)!important;padding:5px!important}
.ggi-bottom-tray-v734 .ggi-tool-art-v690{width:34px!important;height:34px!important}
.ggi-bottom-tray-v734 .ggi-equipment-card-v690 button{min-height:44px!important}
.ggi-bottom-tray-v734.ggi-commands-tray-v731 .ggi-tray-track-v731>button{display:grid!important;place-items:center!important;text-align:center!important}

body.ggi-lite-mode-v708 .ggi-surf-motion-v701{animation-duration:4s!important}
@media(max-width:430px){
  .ggi-bottom-tray-v734,.ggi-smart-drawer-v710.ggi-bottom-tray-v734,#ggiToolPanelinventory.ggi-bottom-tray-v734{height:min(174px,26svh)!important;max-height:min(174px,26svh)!important}
  .ggi-bottom-tray-v734 .ggi-tray-track-v731>*{flex-basis:clamp(112px,31vw,132px)!important}
}
@media(prefers-reduced-motion:reduce){
  .ggi-surf-motion-v701{animation:ggi-water-ribbon-drift-v734 5.2s ease-in-out var(--surf-delay,0s) infinite!important}
  .ggi-anchored-boat-v734 .ggi-boat-motion-v734{animation:ggi-boat-idle-v734 6.2s ease-in-out infinite!important}
  .ggi-anchored-boat-v734 .ggi-water-wake-v734,.ggi-anchored-boat-v734 .ggi-water-wake-v734:after{animation-duration:4.6s!important}
  .ggi-turtle-v687.ggi-jewel-turtle-v734:not(.idle-v731) .ggi-turtle-wake-v734{animation:ggi-turtle-water-ripple-v734 3.1s ease-out infinite!important}
}

/* v735 — nearby deep-water ribbons, reliable fish silhouettes, a tiny culled
   reef pool, burning surfboards, and the complete pier entrance foreground. */
.ggi-surf-v701.deep-v735 .ggi-surf-motion-v701{
  inset:-8px -38px!important;
  animation:ggi-deep-water-ribbon-v735 4.25s cubic-bezier(.18,.48,.26,1) var(--surf-delay,0s) infinite!important;
}
.ggi-surf-v701.deep-v735 .ggi-surf-sprite-v701{
  opacity:.62!important;
  filter:drop-shadow(0 2px 1px rgba(4,91,139,.22))!important;
}
@keyframes ggi-deep-water-ribbon-v735{
  0%{transform:translate3d(-19px,var(--surf-water,3px),0) scale(.54,.42);opacity:0}
  18%{opacity:.4}
  48%{transform:translate3d(-1px,var(--surf-crest,-3px),0) scale(.9,.72);opacity:.72}
  72%{opacity:.51}
  100%{transform:translate3d(22px,var(--surf-travel,14px),0) scale(1.23,.86);opacity:0}
}
body.gg-island-camera-moving-v693 .ggi-surf-v701.deep-v735 .ggi-surf-motion-v701{
  animation-play-state:running!important;
}

/* Silhouettes remain visibly submerged without the old blur that erased them
   against the clearer v733 ocean. */
.ggi-water-life-v710{
  z-index:3;
  color:rgba(3,38,53,.86)!important;
  opacity:.61!important;
  mix-blend-mode:multiply!important;
  filter:drop-shadow(0 5px 3px rgba(2,45,65,.26))!important;
}
.ggi-water-life-v710.ray{opacity:.52!important}
.ggi-water-life-v710.stingray{opacity:.62!important}
.ggi-water-life-v710.flounder{opacity:.64!important}

.ggi-coral-reef-v735{
  position:absolute;
  left:0;
  top:0;
  z-index:1;
  display:block;
  width:300px;
  height:200px;
  pointer-events:none;
  transform-origin:50% 76%;
  contain:layout paint style;
  isolation:isolate;
}
.ggi-coral-reef-v735[hidden]{display:none!important}
.ggi-coral-art-v735,
.ggi-coral-art-v735>img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.ggi-coral-art-v735>img{
  object-fit:contain;
  filter:saturate(.9) brightness(.8) contrast(1.04) drop-shadow(0 7px 4px rgba(3,57,72,.3));
  animation:ggi-coral-breathe-v735 4.8s ease-in-out var(--ggi-reef-delay-v735,0s) infinite alternate;
  opacity:.96;
  -webkit-user-drag:none;
}
.ggi-coral-fronds-v735,
.ggi-coral-fronds-v735:before,
.ggi-coral-fronds-v735:after{
  position:absolute;
  display:block;
  width:8px;
  height:42px;
  border:3px solid rgba(90,214,172,.78);
  border-left:0;
  border-bottom:0;
  border-radius:80% 80% 20% 20%;
  transform-origin:50% 100%;
  content:"";
}
.ggi-coral-fronds-v735{
  z-index:2;
  left:62px;
  bottom:38px;
  animation:ggi-coral-frond-v735 2.9s ease-in-out var(--ggi-reef-delay-v735,0s) infinite alternate;
}
.ggi-coral-fronds-v735:before{left:154px;bottom:-8px;height:34px;border-color:rgba(236,111,174,.72);animation:ggi-coral-frond-v735 2.4s ease-in-out -.7s infinite alternate}
.ggi-coral-fronds-v735:after{left:202px;bottom:4px;height:29px;border-color:rgba(120,125,229,.7);animation:ggi-coral-frond-v735 3.2s ease-in-out -1.3s infinite alternate}
.ggi-coral-bubbles-v735,
.ggi-coral-bubbles-v735:before,
.ggi-coral-bubbles-v735:after{
  position:absolute;
  z-index:3;
  width:8px;
  height:8px;
  border:2px solid rgba(212,250,255,.72);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.ggi-coral-bubbles-v735{left:211px;bottom:56px;animation:ggi-coral-bubbles-v735 3.1s ease-out var(--ggi-reef-delay-v735,0s) infinite;box-shadow:-29px 15px 0 -2px rgba(212,250,255,.48),22px -6px 0 -1px rgba(212,250,255,.38)}
.ggi-coral-bubbles-v735:before{left:-23px;top:17px;width:5px;height:5px}
.ggi-coral-bubbles-v735:after{left:15px;top:-13px;width:4px;height:4px}
@keyframes ggi-coral-breathe-v735{to{transform:translate3d(0,-2px,0) scale(1.012,.99)}}
@keyframes ggi-coral-frond-v735{from{transform:rotate(-4deg) skewY(-2deg)}to{transform:rotate(7deg) skewY(3deg)}}
@keyframes ggi-coral-bubbles-v735{0%{transform:translate3d(0,8px,0) scale(.62);opacity:0}22%{opacity:.7}100%{transform:translate3d(7px,-52px,0) scale(1.08);opacity:0}}

.ggi-surfboard-burn-fire-v735{
  position:absolute;
  z-index:5;
  left:4px;
  top:-16px;
  display:none;
  width:80px;
  height:112px;
  pointer-events:none;
  background:transparent url("island-flame-only-v722.v747.webp") 0 50%/400% 100% no-repeat;
  filter:drop-shadow(0 0 8px rgba(255,91,22,.82));
  animation:ggi-flame-only-frames-v722 .78s steps(1,end) infinite;
}
.ggi-surfboard-v716:is([data-burn-state="burning"],.burning-v721) .ggi-surfboard-burn-fire-v735{display:block}
.ggi-surfboard-v716:is([data-burn-state="burning"],.burning-v721) .ggi-surfboard-sprite-v716{
  animation:ggi-surfboard-scorch-v735 4.2s linear forwards;
  animation-delay:calc(0ms - var(--ggi-burn-age,0ms));
}
.ggi-surfboard-v716:is([data-burn-state="burned"],.burned-v721) .ggi-surfboard-sprite-v716{
  filter:grayscale(.88) sepia(.58) saturate(.5) brightness(.39) contrast(1.26) drop-shadow(0 7px 4px rgba(32,22,18,.42))!important;
}
.ggi-surfboard-v716:is([data-burn-state="burned"],.burned-v721) .ggi-surfboard-shadow-v716>i{opacity:.42}
@keyframes ggi-surfboard-scorch-v735{0%{filter:drop-shadow(0 7px 4px rgba(50,31,26,.35))}55%{filter:sepia(.3) brightness(.8) drop-shadow(0 7px 4px rgba(50,31,26,.35))}100%{filter:grayscale(.88) sepia(.58) saturate(.5) brightness(.39) contrast(1.26) drop-shadow(0 7px 4px rgba(32,22,18,.42))}}

body.ggi-lite-mode-v708 .ggi-coral-reef-v735:is(.reef-2,.reef-3){display:none!important}
body.ggi-lite-mode-v708 .ggi-coral-art-v735>img{animation:none!important}
body.ggi-lite-mode-v708 .ggi-coral-fronds-v735:before,
body.ggi-lite-mode-v708 .ggi-coral-fronds-v735:after{display:none}
body.ggi-lite-mode-v708 .ggi-surfboard-burn-fire-v735{animation-duration:1.04s}
@media(prefers-reduced-motion:reduce){
  .ggi-surf-v701.deep-v735 .ggi-surf-motion-v701{animation-duration:6.8s!important}
  .ggi-coral-art-v735>img{animation-duration:8s!important}
  .ggi-coral-fronds-v735,.ggi-coral-fronds-v735:before,.ggi-coral-fronds-v735:after{animation-duration:5.6s!important}
  .ggi-coral-bubbles-v735{animation-duration:5.8s!important}
  .ggi-surfboard-burn-fire-v735{animation-duration:1.12s!important}
}

/* ===== v736: seamless burn swaps, rare feather finds, and Extras packages ===== */
/* Keep the live tree readable through the last burn frame. The charred asset is
   preloaded in JS, so the state hand-off never needs an invisible bridge frame. */
@keyframes ggi-pink-tree-scorch-v721{
  0%{filter:brightness(1) saturate(1) drop-shadow(0 10px 6px rgba(57,35,49,.38));opacity:1}
  55%{filter:sepia(.38) saturate(.72) brightness(.82) drop-shadow(0 10px 6px rgba(57,35,49,.38));opacity:.86}
  100%{filter:grayscale(.72) sepia(.45) brightness(.52) drop-shadow(0 9px 6px rgba(35,23,20,.48));opacity:.72}
}
.ggi-pink-tree-v716.ggi-burn-swap-v731 .ggi-pink-tree-sprite-v716{
  animation:none!important;
  opacity:1!important;
}
#ggIslandHomeV683:is([data-burn-state="burned"],.burned-v721),
.ggi-goldie-salon-scene-v719:is([data-burn-state="burned"],.burned-v721) .ggi-goldie-salon-sprite-v715,
.ggi-market-scene-v720:is([data-burn-state="burned"],.burned-v721) .ggi-shipwreck-sprite-v712{
  opacity:1!important;
  visibility:visible!important;
}

/* Rare collectible feather: visually related to the existing feather burst but
   remains a real tappable item until collected or its 90s ground lifetime ends. */
.ggi-feather-drop-v736{
  position:absolute;
  left:var(--x);
  top:var(--y);
  z-index:4110;
  width:58px;
  height:66px;
  padding:0;
  border:0;
  background:transparent;
  transform:translate(-50%,-70%) rotate(var(--rot,0deg));
  transform-origin:50% 72%;
  pointer-events:auto;
  touch-action:manipulation;
  filter:drop-shadow(0 6px 5px rgba(21,54,62,.42));
}
.ggi-feather-drop-v736>span{
  position:absolute;
  left:20px;
  top:8px;
  width:20px;
  height:45px;
  border:3px solid #203743;
  border-radius:86% 14% 78% 22%;
  background:linear-gradient(145deg,#ecfff8,#74d5ca 52%,#268aa1);
  transform:rotate(18deg);
  box-shadow:inset -3px -4px rgba(12,83,102,.2),0 0 0 2px rgba(255,255,255,.15);
}
.ggi-feather-drop-v736>span:after{
  content:"";
  position:absolute;
  left:7px;
  top:8px;
  width:3px;
  height:38px;
  border-radius:999px;
  background:#274b57;
  transform:rotate(-9deg);
  transform-origin:50% 100%;
}
.ggi-feather-drop-v736.falling-v736{animation:ggi-feather-drop-in-v736 .62s cubic-bezier(.17,.8,.28,1.12) both}
.ggi-feather-drop-v736.collecting{animation:ggi-feather-collect-v736 .4s ease-in forwards}
.ggi-feather-drop-v736.fading-v736{animation:ggi-feather-fade-v736 .35s ease forwards}
.ggi-feather-drop-v736.ggi-nearby-interaction-v708{filter:drop-shadow(0 0 9px rgba(145,255,238,.92)) drop-shadow(0 7px 5px rgba(21,54,62,.38))}
@keyframes ggi-feather-drop-in-v736{0%{translate:0 -64px;scale:.5;rotate:-36deg;opacity:0}62%{opacity:1}100%{translate:0 0;scale:1;rotate:0}}
@keyframes ggi-feather-collect-v736{to{translate:0 -55px;scale:.12;rotate:28deg;opacity:0}}
@keyframes ggi-feather-fade-v736{to{scale:.7;opacity:0}}
.gg-island-inventory-count-v687.feathers-v736{background:linear-gradient(145deg,rgba(223,255,248,.95),rgba(116,213,202,.82))!important}
.gg-island-inventory-count-v687.crafted-v736{background:linear-gradient(145deg,rgba(236,219,255,.96),rgba(168,119,211,.82))!important}

/* Purple Extras tab stays directly beneath Equipment on the vertical rail. */
.ggi-tool-tabs-v710 .ggi-tool-button-v690.ggi-extras-tab-v736{
  border-color:#6c348c!important;
  background:linear-gradient(145deg,#d6aaff,#8d4eb8 54%,#5d277f)!important;
  color:#160d1c!important;
  box-shadow:inset 0 1px rgba(255,255,255,.68),0 5px 13px rgba(72,25,104,.42)!important;
}
.ggi-tool-tabs-v710 .ggi-tool-button-v690.ggi-extras-tab-v736.active{
  outline-color:#c98aff!important;
  box-shadow:0 0 0 5px rgba(155,76,210,.25),inset 0 1px rgba(255,255,255,.72)!important;
}
.ggi-smart-drawer-v710>header .ggi-tool-back-v736{
  flex:0 0 31px;
  order:0;
  font-size:20px;
}
.ggi-smart-drawer-v710>header .ggi-tool-back-v736+ b{
  flex:1;
  padding-right:31px;
  text-align:center;
}
.ggi-extras-tray-v731{
  border-color:#744197!important;
  background:linear-gradient(150deg,rgba(248,241,255,.99),rgba(190,155,218,.98))!important;
}
.ggi-extra-package-v736{
  min-width:164px;
  min-height:112px;
  padding:12px 11px;
  border:1px solid #725085;
  border-radius:14px;
  display:grid;
  grid-template-columns:36px 1fr;
  grid-template-rows:auto auto 1fr;
  align-items:center;
  gap:2px 8px;
  text-align:left;
  color:#201626;
  background:linear-gradient(145deg,#f8efff,#caa7e4 64%,#9c6cbe);
  box-shadow:inset 0 1px rgba(255,255,255,.85),0 4px 10px rgba(63,31,77,.24);
  touch-action:manipulation;
}
.ggi-extra-package-v736.premium{background:linear-gradient(145deg,#fff7cf,#d9b967 58%,#9f7740)}
.ggi-extra-package-v736 .ggi-extra-package-lock-v736{grid-row:1/3;font-size:1.45rem;text-align:center}
.ggi-extra-package-v736 b{font:950 .71rem/1.05 system-ui;letter-spacing:.035em;text-transform:uppercase}
.ggi-extra-package-v736 small{font:800 .53rem/1.15 system-ui;opacity:.72}
.ggi-extra-package-v736 em{grid-column:1/3;align-self:end;font:950 .48rem/1 system-ui;letter-spacing:.08em;font-style:normal}
.ggi-extra-package-v736:active{transform:translateY(1px);filter:brightness(.94)}
.ggi-extra-content-v736{
  min-width:126px!important;
  min-height:110px;
  padding:9px;
  border:1px solid rgba(71,45,83,.5);
  border-radius:13px;
  display:grid;
  place-items:center;
  gap:3px;
  text-align:center;
  background:linear-gradient(155deg,rgba(247,239,252,.96),rgba(194,163,215,.92));
}
.ggi-extra-content-v736 .ggi-extra-silhouette-v736{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  font-size:2.45rem;
  line-height:1;
  color:#151117;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.18));
}
.ggi-extra-content-v736.locked .ggi-extra-silhouette-v736{color:#17131a;opacity:.78;filter:brightness(.2) drop-shadow(0 4px 3px rgba(0,0,0,.3))}
.ggi-extra-content-v736 b{font:950 .58rem/1.1 system-ui;text-transform:uppercase}
.ggi-extra-content-v736 small{font:750 .48rem/1.15 system-ui;opacity:.72}

@media(prefers-reduced-motion:reduce){
  .ggi-feather-drop-v736.falling-v736,.ggi-feather-drop-v736.collecting,.ggi-feather-drop-v736.fading-v736{animation-duration:.01ms!important}
}


/* v738 — Grim’s Workshop moves to a rocky gothic mini-island in the upper-right sea. */
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737{
  width:286px!important;
  height:514px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  background:transparent!important;
  color:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 16px 10px rgba(12,10,20,.5));
  transform-origin:50% 100%!important;
  isolation:isolate;
}
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737:before,
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737:after{
  content:"";
  position:absolute;
  left:50%;
  pointer-events:none;
  transform:translateX(-50%);
}
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737:before{
  z-index:0;
  bottom:18px;
  width:368px;
  height:152px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at 50% 52%,rgba(41,29,47,.94),rgba(18,13,24,.98) 52%,rgba(9,8,13,0) 76%),
    radial-gradient(circle at 22% 58%,rgba(116,101,110,.7),rgba(116,101,110,0) 21%),
    radial-gradient(circle at 72% 36%,rgba(92,78,103,.6),rgba(92,78,103,0) 18%),
    radial-gradient(circle at 44% 26%,rgba(92,78,103,.52),rgba(92,78,103,0) 16%);
  filter:drop-shadow(0 10px 6px rgba(7,11,19,.34));
}
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737:after{
  z-index:1;
  bottom:14px;
  width:288px;
  height:92px;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 44%,rgba(69,58,76,.82),rgba(27,20,34,.84) 58%,rgba(20,15,28,0) 76%);
  opacity:.92;
}
.ggi-grim-workshop-sprite-v737{
  position:absolute;
  z-index:2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:50% 100%;
  pointer-events:none;
  -webkit-user-drag:none;
  user-select:none;
  transition:filter .35s ease,opacity .18s ease;
  filter:brightness(.85) saturate(.94) hue-rotate(8deg);
}
.ggi-grim-workshop-hit-label-v737{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  bottom:46px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.ggi-island-night-v715 .ggi-grim-workshop-sprite-v737{
  filter:brightness(.74) saturate(1.03) drop-shadow(0 0 14px rgba(111,76,178,.22)) drop-shadow(0 0 10px rgba(74,138,220,.18));
}
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737:is(.ggi-player-behind-v720,.ggi-player-behind-v721,.ggi-occluded-v721){opacity:.34!important}
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737.ggi-nearby-interaction-v708 .ggi-grim-workshop-sprite-v737{filter:brightness(.96) saturate(1.05) drop-shadow(0 0 11px rgba(159,101,255,.38))}
body.ggi-island-night-v715 .gg-island-landmark-v682.grim.ggi-grim-workshop-v737.ggi-nearby-interaction-v708 .ggi-grim-workshop-sprite-v737{filter:brightness(.83) saturate(1.08) drop-shadow(0 0 13px rgba(96,178,255,.38)) drop-shadow(0 0 10px rgba(173,89,255,.32))}
@media(max-width:560px){.gg-island-landmark-v682.grim.ggi-grim-workshop-v737{width:272px!important;height:490px!important}}


/* v748 — Whisperfall replaces the old gremlin statue. The waterfall and its
   celestial sun/moon actor are separate sprites so the water keeps flowing
   independently of the day/night transformation cycle. */
.ggi-waterfall-v748{
  width:270px;height:454px;
  filter:drop-shadow(0 14px 9px rgba(0,0,0,.34));
  pointer-events:none!important;
  overflow:visible;
}
.ggi-waterfall-art-v748,.ggi-waterfall-leaf-v748{
  position:absolute;inset:0;
  background-image:url("island-waterfall-v748.webp");
  background-repeat:no-repeat;
  background-size:400% 100%;
  background-position:0 0;
  image-rendering:auto;
  backface-visibility:hidden;
  will-change:background-position;
  animation:ggi-waterfall-flow-v748 1.12s linear infinite;
}
.ggi-waterfall-leaf-v748{pointer-events:none;opacity:.98}
.ggi-waterfall-leaf-v748.upper{
  clip-path:polygon(54% 3%,100% 3%,100% 63%,58% 63%);
  transform-origin:76% 42%;
  animation:ggi-waterfall-flow-v748 1.12s linear infinite,ggi-waterfall-upper-sway-v748 2.9s ease-in-out infinite alternate;
}
.ggi-waterfall-leaf-v748.lower{
  clip-path:polygon(0 48%,46% 48%,46% 100%,0 100%);
  transform-origin:24% 78%;
  animation:ggi-waterfall-flow-v748 1.12s linear infinite,ggi-waterfall-lower-sway-v748 3.45s ease-in-out -.8s infinite alternate;
}
.ggi-waterfall-foam-v748{position:absolute;left:81px;bottom:1px;width:108px;height:32px;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(51,180,195,.42))}
.ggi-waterfall-foam-v748 i{position:absolute;left:50%;bottom:4px;width:15px;height:7px;border:2px solid rgba(223,255,255,.83);border-left-color:transparent;border-right-color:transparent;border-radius:50%;opacity:0;animation:ggi-waterfall-foam-v748 1.8s ease-out infinite}
.ggi-waterfall-foam-v748 i:nth-child(1){margin-left:-38px;animation-delay:-.2s}.ggi-waterfall-foam-v748 i:nth-child(2){margin-left:-7px;animation-delay:-.82s}.ggi-waterfall-foam-v748 i:nth-child(3){margin-left:27px;animation-delay:-1.33s}
@keyframes ggi-waterfall-flow-v748{
  0%,24.999%{background-position:0 0}
  25%,49.999%{background-position:33.333333% 0}
  50%,74.999%{background-position:66.666667% 0}
  75%,100%{background-position:100% 0}
}
@keyframes ggi-waterfall-upper-sway-v748{from{transform:rotate(-.8deg) translate3d(-1px,0,0)}to{transform:rotate(1.25deg) translate3d(2px,-1px,0)}}
@keyframes ggi-waterfall-lower-sway-v748{from{transform:rotate(.7deg) translate3d(0,1px,0)}to{transform:rotate(-1.15deg) translate3d(-2px,-1px,0)}}
@keyframes ggi-waterfall-foam-v748{0%{opacity:0;transform:translate3d(0,5px,0) scale(.55)}28%{opacity:.82}100%{opacity:0;transform:translate3d(0,-16px,0) scale(1.75)}}

.ggi-celestial-v748{
  position:absolute;left:var(--x);top:var(--y);z-index:8605!important;
  width:126px;height:154px;
  transform:translate3d(-50%,-50%,0);
  transform-origin:50% 50%;
  pointer-events:none!important;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.26));
  animation:ggi-celestial-float-v748 3.8s ease-in-out infinite alternate;
  isolation:isolate;
}
.ggi-celestial-art-v748{
  position:absolute;inset:0;z-index:2;
  background-image:url("island-celestial-v748.webp");
  background-repeat:no-repeat;
  background-size:900% 100%;
  background-position:0 0;
  image-rendering:auto;
  transform-origin:50% 50%;
  backface-visibility:hidden;
}
.ggi-celestial-glow-v748{position:absolute;z-index:1;left:12%;top:16%;width:76%;height:68%;border-radius:50%;background:radial-gradient(circle,rgba(255,206,73,.42),rgba(255,154,30,.18) 42%,transparent 72%);filter:blur(4px);opacity:.9;animation:ggi-celestial-glow-pulse-v748 2.2s ease-in-out infinite alternate}
.ggi-celestial-v748[data-celestial-kind="moon"] .ggi-celestial-glow-v748{background:radial-gradient(circle,rgba(160,230,255,.48),rgba(71,151,255,.19) 45%,transparent 72%)}
.ggi-celestial-v748[data-celestial-kind="red-moon"] .ggi-celestial-glow-v748{background:radial-gradient(circle,rgba(255,79,82,.52),rgba(161,21,37,.28) 46%,transparent 73%);filter:blur(5px)}
.ggi-celestial-v748[data-celestial-kind="green-sun"] .ggi-celestial-glow-v748{background:radial-gradient(circle,rgba(176,255,56,.54),rgba(57,184,44,.23) 46%,transparent 73%)}
.ggi-celestial-v748[data-celestial-kind="cocoon"] .ggi-celestial-glow-v748,.ggi-celestial-v748[data-celestial-kind="shell"] .ggi-celestial-glow-v748{background:radial-gradient(circle,rgba(243,192,78,.24),rgba(112,80,38,.12) 48%,transparent 74%);opacity:.68}
.ggi-celestial-v748[data-celestial-kind="transition"] .ggi-celestial-glow-v748{background:radial-gradient(circle,rgba(255,204,69,.5),rgba(78,177,255,.12) 50%,transparent 76%)}
.ggi-celestial-v748.transitioning-v748 .ggi-celestial-art-v748{animation:ggi-celestial-spin-v748 1.08s linear infinite}
.ggi-celestial-v748[data-celestial-kind="cocoon"].transitioning-v748 .ggi-celestial-art-v748{animation-duration:.82s}
.ggi-celestial-v748[data-celestial-kind="shell"].transitioning-v748 .ggi-celestial-art-v748{animation-duration:.62s}
.ggi-celestial-v748[data-celestial-frame="0"] .ggi-celestial-art-v748{background-position:0 0}
.ggi-celestial-v748[data-celestial-frame="1"] .ggi-celestial-art-v748{background-position:12.5% 0}
.ggi-celestial-v748[data-celestial-frame="2"] .ggi-celestial-art-v748{background-position:25% 0}
.ggi-celestial-v748[data-celestial-frame="3"] .ggi-celestial-art-v748{background-position:37.5% 0}
.ggi-celestial-v748[data-celestial-frame="4"] .ggi-celestial-art-v748{background-position:50% 0}
.ggi-celestial-v748[data-celestial-frame="5"] .ggi-celestial-art-v748{background-position:62.5% 0}
.ggi-celestial-v748[data-celestial-frame="6"] .ggi-celestial-art-v748{background-position:75% 0}
.ggi-celestial-v748[data-celestial-frame="7"] .ggi-celestial-art-v748{background-position:87.5% 0}
.ggi-celestial-v748[data-celestial-frame="8"] .ggi-celestial-art-v748{background-position:100% 0}
.ggi-celestial-shell-v748{position:absolute;z-index:5;inset:14px 12px 5px;pointer-events:none}
.ggi-celestial-shell-v748 i{position:absolute;left:47%;top:45%;width:25px;height:22px;opacity:0;background:linear-gradient(145deg,#c29b5b,#7a5430 72%);border:1px solid rgba(64,42,28,.6);clip-path:polygon(0 13%,100% 0,77% 100%,18% 78%)}
.ggi-celestial-shell-v748 i:nth-child(2){width:18px;height:27px;rotate:70deg}.ggi-celestial-shell-v748 i:nth-child(3){width:21px;height:18px;rotate:142deg}.ggi-celestial-shell-v748 i:nth-child(4){width:15px;height:23px;rotate:216deg}
.ggi-celestial-v748.shell-drop-v748 .ggi-celestial-shell-v748 i{animation:ggi-celestial-shell-fall-v748 1.45s cubic-bezier(.17,.7,.28,1) forwards}
.ggi-celestial-v748.shell-drop-v748 .ggi-celestial-shell-v748 i:nth-child(2){animation-delay:.05s;--sx:-34px;--sy:104px;--sr:108deg}.ggi-celestial-v748.shell-drop-v748 .ggi-celestial-shell-v748 i:nth-child(3){animation-delay:.1s;--sx:29px;--sy:118px;--sr:-126deg}.ggi-celestial-v748.shell-drop-v748 .ggi-celestial-shell-v748 i:nth-child(4){animation-delay:.14s;--sx:47px;--sy:92px;--sr:164deg}.ggi-celestial-v748.shell-drop-v748 .ggi-celestial-shell-v748 i:nth-child(1){--sx:-18px;--sy:126px;--sr:-92deg}
.ggi-celestial-v748.sun-burst-v748 .ggi-celestial-glow-v748{animation:ggi-celestial-sun-burst-v748 .95s ease-out 1}
@keyframes ggi-celestial-float-v748{from{transform:translate3d(-50%,calc(-50% - 5px),0) rotate(-.8deg)}to{transform:translate3d(-50%,calc(-50% + 5px),0) rotate(.8deg)}}
@keyframes ggi-celestial-spin-v748{to{transform:rotate(360deg) scale(.96)}}
@keyframes ggi-celestial-glow-pulse-v748{from{opacity:.58;scale:.9}to{opacity:1;scale:1.08}}
@keyframes ggi-celestial-shell-fall-v748{0%{opacity:1;transform:translate3d(0,0,0) rotate(0deg) scale(1)}72%{opacity:.88}100%{opacity:0;transform:translate3d(var(--sx,-22px),var(--sy,110px),0) rotate(var(--sr,95deg)) scale(.58)}}
@keyframes ggi-celestial-sun-burst-v748{0%{opacity:.18;scale:.55}38%{opacity:1;scale:1.42}100%{opacity:.82;scale:1}}
body.ggi-lite-mode-v708 .ggi-waterfall-art-v748{animation-duration:1.45s}body.ggi-lite-mode-v708 .ggi-waterfall-leaf-v748.upper,body.ggi-lite-mode-v708 .ggi-waterfall-leaf-v748.lower{animation-name:ggi-waterfall-flow-v748;animation-duration:1.45s}body.ggi-lite-mode-v708 .ggi-waterfall-foam-v748 i:nth-child(n+3){display:none}
@media(prefers-reduced-motion:reduce){.ggi-waterfall-leaf-v748.upper,.ggi-waterfall-leaf-v748.lower{animation-name:ggi-waterfall-flow-v748!important}.ggi-celestial-v748{animation:none!important;transform:translate3d(-50%,-50%,0)!important}.ggi-celestial-v748.transitioning-v748 .ggi-celestial-art-v748{animation-duration:2.4s!important}.ggi-celestial-glow-v748{animation:none!important}}

/* v749 — upper-island Whisperfall placement + locked rock base.
   Only water pixels animate; the mountain/stone body remains completely still.
   Two isolated plant overlays get tiny independent idle sways. */
.ggi-waterfall-v749{
  width:220px;height:438px;
  filter:drop-shadow(0 12px 8px rgba(0,0,0,.32));
  pointer-events:none!important;
  overflow:visible;
  isolation:isolate;
}
.ggi-waterfall-base-v749,
.ggi-waterfall-water-v749,
.ggi-waterfall-plant-v749{
  position:absolute;inset:0;
  background-repeat:no-repeat;
  image-rendering:auto;
  backface-visibility:hidden;
  pointer-events:none;
}
.ggi-waterfall-base-v749{
  z-index:1;
  background-image:url("island-waterfall-base-v749.webp");
  background-size:100% 100%;
  background-position:0 0;
}
.ggi-waterfall-water-v749{
  z-index:3;
  background-image:url("island-waterfall-water-v749.webp");
  background-size:400% 100%;
  background-position:0 0;
  animation:ggi-waterfall-water-only-v749 1.08s steps(1,end) infinite;
  will-change:background-position;
}
.ggi-waterfall-plant-v749{z-index:4;background-size:100% 100%;background-position:0 0;will-change:transform}
.ggi-waterfall-plant-v749.upper{
  background-image:url("island-waterfall-plant-upper-v749.webp");
  transform-origin:76% 27%;
  animation:ggi-waterfall-plant-upper-v749 3.35s ease-in-out infinite alternate;
}
.ggi-waterfall-plant-v749.lower{
  background-image:url("island-waterfall-plant-lower-v749.webp");
  transform-origin:23% 70%;
  animation:ggi-waterfall-plant-lower-v749 4.05s ease-in-out -.9s infinite alternate;
}
.ggi-waterfall-foam-v749{position:absolute;z-index:5;left:62px;bottom:0;width:96px;height:25px;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(51,180,195,.36))}
.ggi-waterfall-foam-v749 i{position:absolute;left:50%;bottom:3px;width:13px;height:6px;border:2px solid rgba(223,255,255,.78);border-left-color:transparent;border-right-color:transparent;border-radius:50%;opacity:0;animation:ggi-waterfall-foam-v749 1.9s ease-out infinite}
.ggi-waterfall-foam-v749 i:nth-child(1){margin-left:-31px;animation-delay:-.15s}.ggi-waterfall-foam-v749 i:nth-child(2){margin-left:-5px;animation-delay:-.78s}.ggi-waterfall-foam-v749 i:nth-child(3){margin-left:22px;animation-delay:-1.29s}
@keyframes ggi-waterfall-water-only-v749{
  0%,24.999%{background-position:0 0}
  25%,49.999%{background-position:33.333333% 0}
  50%,74.999%{background-position:66.666667% 0}
  75%,100%{background-position:100% 0}
}
@keyframes ggi-waterfall-plant-upper-v749{from{transform:translate3d(-.4px,0,0) rotate(-.22deg)}to{transform:translate3d(.8px,-.45px,0) rotate(.38deg)}}
@keyframes ggi-waterfall-plant-lower-v749{from{transform:translate3d(.35px,.2px,0) rotate(.2deg)}to{transform:translate3d(-.7px,-.35px,0) rotate(-.34deg)}}
@keyframes ggi-waterfall-foam-v749{0%{opacity:0;transform:translate3d(0,4px,0) scale(.62)}30%{opacity:.72}100%{opacity:0;transform:translate3d(0,-13px,0) scale(1.5)}}

/* v749 — celestial is still a separate sprite actor. Idle motion is only a
   gentle vertical float; rotation is reserved for the dusk/dawn cocoon cycle. */
.ggi-celestial-v748{width:110px;height:134px;animation:ggi-celestial-float-v749 4.4s ease-in-out infinite alternate!important;filter:drop-shadow(0 5px 7px rgba(0,0,0,.24))}
@keyframes ggi-celestial-float-v749{from{transform:translate3d(-50%,calc(-50% - 4px),0)}to{transform:translate3d(-50%,calc(-50% + 4px),0)}}
body.ggi-lite-mode-v708 .ggi-waterfall-water-v749{animation-duration:1.38s}
body.ggi-lite-mode-v708 .ggi-waterfall-plant-v749{animation:none!important}
@media(prefers-reduced-motion:reduce){.ggi-waterfall-water-v749{animation-duration:2.2s!important}.ggi-waterfall-plant-v749{animation:none!important}.ggi-celestial-v748{animation:none!important;transform:translate3d(-50%,-50%,0)!important}}

.gg-island-landmark-v682.board{
  width:244px!important;height:138px!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible;color:#3e2410;padding:0 26px 12px;isolation:isolate
}
.gg-island-landmark-v682.board::before{
  content:"";position:absolute;inset:0;background:url("island-board-sign-v753.png") center/100% 100% no-repeat;filter:drop-shadow(0 10px 7px rgba(0,0,0,.28));z-index:0
}
.gg-island-landmark-v682.board>b{display:none!important}
.gg-island-landmark-v682.board>span{
  position:relative;z-index:1;display:block;max-width:72%;margin-top:4px;font:900 .95rem/1.05 Georgia,serif;letter-spacing:.08em;text-transform:uppercase;color:#5b3218;text-shadow:0 1px 0 rgba(255,239,210,.8)
}
.ggi-umbrella-false-shadow-v713>img{opacity:.3!important;filter:brightness(0) saturate(0) blur(3.2px)!important;mix-blend-mode:multiply}

/* v751 — separated Whisperfall, Fun rail, active Fun items, stable pet hints */
.ggi-waterfall-v749{width:260px!important;height:518px!important}
.ggi-fun-tab-v751{background:linear-gradient(180deg,#f56f3f 0%,#d83e25 55%,#b72b1f 100%)!important;border-color:#8c221a!important;color:#170c08!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 7px 16px rgba(106,31,18,.3)!important}
.ggi-fun-tab-v751.active{filter:brightness(1.08) saturate(1.08)}
.ggi-fun-track-v751{gap:10px!important}
.ggi-fun-card-v751{min-width:142px;max-width:142px;min-height:166px;padding:10px;border-radius:18px;background:linear-gradient(180deg,#f1f3f6,#c9d0d9);border:1px solid #78828e;box-shadow:0 6px 14px rgba(0,0,0,.18);display:grid;grid-template-rows:84px auto 40px;gap:6px;align-items:center;text-align:center;scroll-snap-align:center}
.ggi-fun-card-v751.locked{filter:saturate(.35)}
.ggi-fun-card-v751.equipped{outline:3px solid #e2b53b;outline-offset:-3px}
.ggi-fun-card-art-v751{height:82px;display:grid;place-items:center;overflow:hidden}
.ggi-fun-card-art-v751 .ggi-fun-tool-img-v751{max-width:100%;max-height:78px;object-fit:contain}
.ggi-fun-silhouette-v751{display:grid;place-items:center;width:100%;height:100%;filter:grayscale(1) brightness(.14);opacity:.78}
.ggi-fun-card-v751 b{font:900 13px/1.05 system-ui,sans-serif}.ggi-fun-card-v751 small{display:block;font:700 10px/1.1 system-ui,sans-serif;color:#4b5158;margin-top:3px}.ggi-fun-card-v751 button{min-height:38px;border-radius:12px;font-weight:900}
.ggi-fun-placeholder-v751{display:block;width:68px;height:48px;background:#27242b;border-radius:40% 40% 30% 30%;position:relative}.ggi-fun-placeholder-v751.trap:before,.ggi-fun-placeholder-v751.trap:after{content:"";position:absolute;width:34px;height:7px;background:#17151b;top:20px}.ggi-fun-placeholder-v751.trap:before{left:1px;rotate:28deg}.ggi-fun-placeholder-v751.trap:after{right:1px;rotate:-28deg}.ggi-fun-placeholder-v751.daggers{width:72px;background:transparent}.ggi-fun-placeholder-v751.daggers:before,.ggi-fun-placeholder-v751.daggers:after{content:"";position:absolute;width:11px;height:64px;border-radius:5px;background:#242129;top:-8px}.ggi-fun-placeholder-v751.daggers:before{left:19px;rotate:28deg}.ggi-fun-placeholder-v751.daggers:after{right:19px;rotate:-28deg}
.ggi-fun-action-v751{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:calc(104px + env(safe-area-inset-bottom));z-index:2147483200;width:58px;height:58px;border-radius:50%;border:2px solid rgba(84,58,24,.75);background:linear-gradient(180deg,rgba(255,246,217,.72),rgba(217,179,101,.58));box-shadow:0 7px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.7);font:900 34px/1 Georgia,serif;color:#7b301e;opacity:.62;touch-action:none;-webkit-user-select:none;user-select:none}
.ggi-fun-action-v751.active{opacity:1;transform:scale(.93);background:linear-gradient(180deg,#fff0c2,#e6a43f)}.ggi-fun-action-v751[hidden]{display:none!important}
.ggi-fun-tool-img-v751{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.ggi-equipped-tool-v690[data-tool="blowDryer"]{left:44%!important;top:36%!important;width:78px!important;height:62px!important;transform:rotate(-7deg)!important;z-index:88!important}.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="blowDryer"]{left:6%!important;transform:scaleX(-1) rotate(-7deg)!important}.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="blowDryer"]{left:39%!important;z-index:34!important;opacity:1!important}
.ggi-equipped-tool-v690[data-tool="heatingRod"]{left:43%!important;top:40%!important;width:88px!important;height:48px!important;transform:rotate(-25deg)!important;transform-origin:18% 70%!important;z-index:89!important}.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="heatingRod"]{left:4%!important;transform:scaleX(-1) rotate(-25deg)!important}.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="heatingRod"]{left:37%!important;z-index:34!important;opacity:1!important}
.ggi-equipped-tool-v690[data-tool="hamsterBall"]{display:none!important}
.gg-island-avatar-v682.ggi-hamster-ball-equipped-v751:before,.gg-island-avatar-v682.ggi-hamster-ball-equipped-v751:after{content:"";position:absolute;left:50%;top:53%;width:132px;height:132px;border-radius:50%;transform:translate(-50%,-50%) rotate(var(--ggi-fun-ball-angle,0deg));pointer-events:none;background:url("fun-hamster-ball-v751.svg") center/100% 100% no-repeat;z-index:2;opacity:.58}.gg-island-avatar-v682.ggi-hamster-ball-equipped-v751:after{z-index:92;clip-path:inset(50% 0 0 0);opacity:.52}.gg-island-avatar-v682.ggi-hamster-ball-equipped-v751:before{clip-path:inset(0 0 50% 0)}
.gg-island-avatar-v682.ggi-hamster-impact-v751:after{animation:ggi-hamster-impact-v751 .28s ease-out 1}@keyframes ggi-hamster-impact-v751{0%{filter:brightness(1);scale:1}40%{filter:brightness(1.8) drop-shadow(0 0 10px #d8fbff);scale:1.08}100%{filter:brightness(1);scale:1}}
.ggi-fun-world-fx-v751{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:4300}.ggi-flame-stream-v751,.ggi-electric-swing-v751{display:none;position:absolute;left:var(--x);top:var(--y);transform-origin:0 50%}.ggi-fun-world-fx-v751.blow .ggi-flame-stream-v751{display:block;width:168px;height:52px;background:radial-gradient(ellipse at 12% 50%,#fff6a8 0 10%,#ffcb38 13% 25%,#ff6b21 36% 60%,rgba(225,30,17,.86) 66%,transparent 75%);filter:drop-shadow(0 0 8px rgba(255,100,20,.8));animation:ggi-flame-pulse-v751 .12s steps(2,end) infinite}.ggi-fun-world-fx-v751[data-direction="left"] .ggi-flame-stream-v751{transform:translate(-100%,-50%)}.ggi-fun-world-fx-v751[data-direction="right"] .ggi-flame-stream-v751{transform:translate(0,-50%)}.ggi-fun-world-fx-v751[data-direction="back"] .ggi-flame-stream-v751{transform:translate(-50%,-100%) rotate(-90deg)}.ggi-fun-world-fx-v751[data-direction="front"] .ggi-flame-stream-v751{transform:translate(-50%,0) rotate(90deg)}@keyframes ggi-flame-pulse-v751{50%{scale:1.05 .9;filter:drop-shadow(0 0 12px rgba(255,116,25,.92))}}
.gg-island-avatar-v682.ggi-heating-swing-v751 .ggi-equipped-tool-v690[data-tool="heatingRod"]{animation:ggi-rod-electric-swing-v751 .42s cubic-bezier(.18,.78,.28,1) 1}.gg-island-avatar-v682.ggi-heating-swing-v751 .ggi-equipped-tool-v690[data-tool="heatingRod"]:after{content:"⚡";position:absolute;right:-12px;top:-20px;font-size:35px;filter:drop-shadow(0 0 7px #7de7ff);animation:ggi-electric-pop-v751 .42s ease-out 1}@keyframes ggi-rod-electric-swing-v751{0%{rotate:-18deg}55%{rotate:58deg}100%{rotate:0}}@keyframes ggi-electric-pop-v751{0%,100%{opacity:0;scale:.6}35%,70%{opacity:1;scale:1.2}}
.ggi-electric-stunned-v751{filter:drop-shadow(0 0 5px #a5f4ff) drop-shadow(0 0 9px #665cff)!important}.ggi-electric-stunned-v751:after{content:"⚡";position:absolute;left:50%;top:-18px;translate:-50% 0;font-size:24px;animation:ggi-stun-zap-v751 .35s steps(2,end) infinite;z-index:999}@keyframes ggi-stun-zap-v751{50%{translate:-50% -4px;filter:brightness(1.6)}}
.ggi-pet-hint-stable-v751{position:absolute!important;left:0!important;top:0!important;bottom:auto!important;margin:0!important;translate:none!important;transition:opacity .16s ease!important;will-change:transform;transform-origin:50% 100%!important;pointer-events:none!important;contain:layout style paint}
@media(max-height:720px){.gg-island-tool-dock-v689 .ggi-tool-tabs-v710{gap:5px!important}.ggi-tool-button-v690{min-height:58px!important}.ggi-fun-action-v751{bottom:calc(92px + env(safe-area-inset-bottom));width:52px;height:52px}}
.ggi-remote-tool-v706 .ggi-remote-fun-tool-v751{display:block;width:72px;height:60px;object-fit:contain;filter:drop-shadow(0 3px 2px rgba(0,0,0,.3))}
.ggi-remote-avatar-v706.ggi-remote-hamster-v751:after{content:"";position:absolute;left:50%;top:53%;width:132px;height:132px;border-radius:50%;transform:translate(-50%,-50%);background:url("fun-hamster-ball-v751.svg") center/100% 100% no-repeat;opacity:.5;pointer-events:none;z-index:90}


/* v755 — Whisperfall camera overscan + broad time-based scenery shadows.
   Existing day-clock shadow variables now drive more island objects without
   adding per-frame JS work. During camera motion or Lite mode, shadows stay
   visible but switch to cheaper compositing instead of disappearing. */

/* Restore simplified live shadows while moving or in Lite mode so the island
   keeps the same time-of-day grounding on iPhone without the old blur cost. */
body.gg-island-camera-moving-v693 :is(
  .ggi-tree-sun-shadow-v710,
  .ggi-lighthouse-sun-shadow-v711,
  .ggi-pink-tree-shadow-v716,
  .ggi-bamboo-shadow-v716,
  .ggi-surfboard-shadow-v716,
  .ggi-fire-tiki-v716 .ggi-tiki-sun-shadow-v731
){
  display:block!important;
  transition:none!important;
  opacity:calc(var(--ggi-sun-shadow-opacity) * .78)!important;
  filter:brightness(0) saturate(0) blur(1px)!important;
}
body.ggi-lite-mode-v708 :is(
  .ggi-tree-sun-shadow-v710,
  .ggi-lighthouse-sun-shadow-v711,
  .ggi-pink-tree-shadow-v716,
  .ggi-bamboo-shadow-v716,
  .ggi-surfboard-shadow-v716,
  .ggi-fire-tiki-v716 .ggi-tiki-sun-shadow-v731
){
  display:block!important;
  transition:none!important;
  opacity:calc(var(--ggi-sun-shadow-opacity) * .66)!important;
  filter:brightness(0) saturate(0) blur(.8px)!important;
}

/* Generic, time-based ground shadows for the large scenic anchors that were
   still relying on static drop-shadows only. */
:is(#ggIslandHomeV683,.ggi-goldie-salon-scene-v719,.ggi-market-scene-v720,.ggi-waterfall-v749,.ggi-firepit-v719){
  isolation:isolate;
}
:is(#ggIslandHomeV683,.ggi-goldie-salon-scene-v719,.ggi-market-scene-v720,.ggi-waterfall-v749,.ggi-firepit-v719)::before{
  content:""!important;
  display:block!important;
  position:absolute;
  z-index:0;
  left:50%;
  bottom:var(--ggi-ground-shadow-bottom,10px);
  width:var(--ggi-ground-shadow-w,220px);
  height:var(--ggi-ground-shadow-h,88px);
  border-radius:50%;
  pointer-events:none;
  mix-blend-mode:multiply;
  background:radial-gradient(ellipse at 50% 50%,rgba(27,24,21,.54),rgba(18,16,14,.38) 48%,rgba(14,12,10,0) 74%);
  opacity:calc(var(--ggi-sun-shadow-opacity) * var(--ggi-ground-shadow-opacity-scale,.86));
  transform:translateX(-50%) rotate(var(--ggi-sun-shadow-angle)) scaleY(calc(.34 + var(--ggi-sun-shadow-length) * var(--ggi-ground-shadow-length-scale,.44))) skewX(-8deg);
  transform-origin:50% 50%;
  filter:blur(2px);
  transition:transform 1s linear,opacity 1s linear;
}
#ggIslandHomeV683,.ggi-avatar-home-v721{--ggi-ground-shadow-w:238px;--ggi-ground-shadow-h:90px;--ggi-ground-shadow-bottom:6px;--ggi-ground-shadow-opacity-scale:.9;--ggi-ground-shadow-length-scale:.42}
.ggi-goldie-salon-scene-v719{--ggi-ground-shadow-w:244px;--ggi-ground-shadow-h:92px;--ggi-ground-shadow-bottom:9px;--ggi-ground-shadow-opacity-scale:.88;--ggi-ground-shadow-length-scale:.42}
.ggi-market-scene-v720{--ggi-ground-shadow-w:288px;--ggi-ground-shadow-h:100px;--ggi-ground-shadow-bottom:10px;--ggi-ground-shadow-opacity-scale:.9;--ggi-ground-shadow-length-scale:.44}
.ggi-waterfall-v749{--ggi-ground-shadow-w:272px;--ggi-ground-shadow-h:118px;--ggi-ground-shadow-bottom:16px;--ggi-ground-shadow-opacity-scale:.94;--ggi-ground-shadow-length-scale:.46}
.ggi-firepit-v719{--ggi-ground-shadow-w:178px;--ggi-ground-shadow-h:68px;--ggi-ground-shadow-bottom:12px;--ggi-ground-shadow-opacity-scale:.72;--ggi-ground-shadow-length-scale:.36}

/* Whisperfall itself gets its own subtle water-cooled shadow layer so it reads
   as a full mini-island object even when the time-of-day shadow is short. */
.ggi-waterfall-v749:after{
  content:"";
  position:absolute;
  z-index:1;
  left:50%;
  bottom:10px;
  width:220px;
  height:70px;
  border-radius:50%;
  pointer-events:none;
  transform:translateX(-50%) scaleX(1.02) scaleY(.8);
  background:radial-gradient(ellipse at 50% 52%,rgba(19,44,50,.28),rgba(12,30,36,.18) 52%,rgba(5,15,18,0) 74%);
  mix-blend-mode:multiply;
}

/* Grim Workshop already had built-in island shadows; make them follow the same
   day clock instead of staying static. */
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737:before{
  transform:translateX(-50%) rotate(var(--ggi-sun-shadow-angle)) scaleY(calc(.36 + var(--ggi-sun-shadow-length) * .4)) skewX(-8deg);
  opacity:calc(var(--ggi-sun-shadow-opacity) * .88);
  transition:transform 1s linear,opacity 1s linear;
}
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737:after{
  transform:translateX(-50%) rotate(var(--ggi-sun-shadow-angle)) scaleY(calc(.32 + var(--ggi-sun-shadow-length) * .28)) skewX(-6deg);
  opacity:calc(var(--ggi-sun-shadow-opacity) * .68);
  transition:transform 1s linear,opacity 1s linear;
}
body:is(.gg-island-camera-moving-v693,.ggi-lite-mode-v708) .gg-island-landmark-v682.grim.ggi-grim-workshop-v737:before,
body:is(.gg-island-camera-moving-v693,.ggi-lite-mode-v708) .gg-island-landmark-v682.grim.ggi-grim-workshop-v737:after,
body:is(.gg-island-camera-moving-v693,.ggi-lite-mode-v708) :is(#ggIslandHomeV683,.ggi-goldie-salon-scene-v719,.ggi-market-scene-v720,.ggi-waterfall-v749,.ggi-firepit-v719)::before{
  transition:none!important;
  filter:blur(1px)!important;
}

/* The Whisperfall tiki sits on the open right side of the island now. */
.ggi-fire-tiki-v716[data-tiki-id="3"] .ggi-tiki-sun-shadow-v731{transform-origin:52% 100%}


/* v756 — top-of-map reveal uses ocean fill instead of a dark cutout,
   fish/shark swim facing corrected in JS, and island shadows are slightly
   darker without changing umbrella shadows. */
body.ggi-island-night-v715 .gg-island-viewport-v682{
  background:#08223a!important;
  background-image:radial-gradient(circle at 72% 9%,rgba(200,215,255,.08),transparent 16%),linear-gradient(180deg,rgba(11,44,78,.95),rgba(6,28,56,.96))!important;
}

/* Darken the general time-based scenery shadows a touch while deliberately
   leaving umbrella shadows alone. */
:is(.ggi-tree-sun-shadow-v710,.ggi-lighthouse-sun-shadow-v711,.ggi-pink-tree-shadow-v716,.ggi-bamboo-shadow-v716,.ggi-surfboard-shadow-v716,.ggi-fire-tiki-v716 .ggi-tiki-sun-shadow-v731){
  opacity:calc(var(--ggi-sun-shadow-opacity) * 1.14)!important;
}
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737:before{opacity:calc(var(--ggi-sun-shadow-opacity) * .96)!important}
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737:after{opacity:calc(var(--ggi-sun-shadow-opacity) * .76)!important}
:is(#ggIslandHomeV683,.ggi-goldie-salon-scene-v719,.ggi-market-scene-v720,.ggi-waterfall-v749,.ggi-firepit-v719)::before{
  background:radial-gradient(ellipse at 50% 50%,rgba(20,18,16,.66),rgba(14,13,11,.46) 48%,rgba(14,12,10,0) 74%)!important;
  opacity:calc(var(--ggi-sun-shadow-opacity) * var(--ggi-ground-shadow-opacity-scale, .96) * 1.08)!important;
}
/* Keep the umbrella false-shadow authority untouched. */


/* v757 — true upper-world overscan. The fixed viewport filler from v756 is
   removed. The world itself can now paint above y=0, so Whisperfall, its
   celestial sprite, and other upper-world art stay visible while the camera
   scrolls upward. */
.gg-island-world-v682{
  contain:layout style!important;
  overflow:visible!important;
}
.gg-island-world-v682::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:-320px;
  height:322px;
  pointer-events:none;
  background:
    radial-gradient(ellipse 34px 10px at center,transparent 56%,rgba(145,232,238,.22) 60%,transparent 68%),
    linear-gradient(120deg,#35c5e1 0%,#159dcc 46%,#0b6fa7 100%);
  background-size:86px 52px,100% 100%;
}
body.ggi-island-night-v715 .gg-island-world-v682::before{
  background:
    radial-gradient(ellipse 34px 10px at center,transparent 56%,rgba(116,177,205,.12) 60%,transparent 68%),
    linear-gradient(180deg,#123f63,#082b4d)!important;
}
body.ggi-island-night-v715 .gg-island-viewport-v682{
  background:#082b4d!important;
  background-image:none!important;
}
.ggi-fire-tiki-v716[data-tiki-id="1"]{
  z-index:3476!important;
}


/* v758 — remove the remaining upper-ocean overlay and let the overscan area
   be the viewport background only. This keeps the top of Whisperfall visible
   instead of covering it with a second water slab. */
.gg-island-world-v682::before{display:none!important;content:none!important;background:none!important}
body.ggi-island-night-v715 .gg-island-world-v682::before{display:none!important;content:none!important;background:none!important}

/* Celestial actor: push it higher above Whisperfall and use exact sprite-sheet
   sizing/offsets to prevent adjacent-frame bleed on iPhone Safari. */
.ggi-celestial-v748{width:109.636px!important;height:134px!important;overflow:hidden!important;filter:drop-shadow(0 5px 7px rgba(0,0,0,.24))}
.ggi-celestial-art-v748{background-size:986.727px 134px!important;background-repeat:no-repeat!important}
.ggi-celestial-v748[data-celestial-frame="0"] .ggi-celestial-art-v748{background-position:0 0!important}
.ggi-celestial-v748[data-celestial-frame="1"] .ggi-celestial-art-v748{background-position:-109.636px 0!important}
.ggi-celestial-v748[data-celestial-frame="2"] .ggi-celestial-art-v748{background-position:-219.273px 0!important}
.ggi-celestial-v748[data-celestial-frame="3"] .ggi-celestial-art-v748{background-position:-328.909px 0!important}
.ggi-celestial-v748[data-celestial-frame="4"] .ggi-celestial-art-v748{background-position:-438.545px 0!important}
.ggi-celestial-v748[data-celestial-frame="5"] .ggi-celestial-art-v748{background-position:-548.182px 0!important}
.ggi-celestial-v748[data-celestial-frame="6"] .ggi-celestial-art-v748{background-position:-657.818px 0!important}
.ggi-celestial-v748[data-celestial-frame="7"] .ggi-celestial-art-v748{background-position:-767.455px 0!important}
.ggi-celestial-v748[data-celestial-frame="8"] .ggi-celestial-art-v748{background-position:-877.091px 0!important}

/* Keep the overscan background visually consistent without adding another
   overlay element that can cover map art. */
.gg-island-viewport-v682{background:#0f7faf!important;background-image:none!important}
body.ggi-island-night-v715 .gg-island-viewport-v682{background:#082b4d!important;background-image:none!important}


/* v759 — padded upper camera space and a cleaner Island Board hit target. */
.gg-island-landmark-v682.board{
  width:220px!important;height:118px!important;padding:0!important;
  appearance:none!important;-webkit-appearance:none!important;
  border:0!important;border-radius:0!important;outline:none!important;
  background:none!important;box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
.gg-island-landmark-v682.board::before{background-size:100% 100%!important;filter:drop-shadow(0 8px 6px rgba(0,0,0,.26))!important}
.gg-island-landmark-v682.board>span{max-width:68%!important;margin-top:1px!important}

/* v760 — true north camera overscan + Whisperfall clipping fix.
   The old v759 model shifted the entire world down by a fake top pad, which
   exposed the canvas y=0 edge as a giant horizontal slab. v760 keeps screen
   coordinates honest and paints north-ocean scenery behind the world only. */
.gg-island-world-v682{
  overflow:visible!important;
  contain:layout style!important;
  isolation:isolate!important;
  background:transparent!important;
}
.gg-island-world-v682::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:-1!important;
  left:0!important;
  right:0!important;
  top:-462px!important;
  height:464px!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse 34px 10px at center,transparent 56%,rgba(214,251,252,.16) 60%,transparent 69%),
    linear-gradient(180deg,#159dcc 0%,#29b9da 54%,#36c8e4 100%)!important;
  background-size:86px 52px,100% 100%!important;
}
body.ggi-island-night-v715 .gg-island-world-v682::before{
  background:
    radial-gradient(ellipse 34px 10px at center,transparent 56%,rgba(126,186,213,.10) 60%,transparent 69%),
    linear-gradient(180deg,#082b4d 0%,#0a3858 58%,#103f63 100%)!important;
}
.gg-island-viewport-v682{
  background:#159dcc!important;
  background-image:none!important;
}
body.ggi-island-night-v715 .gg-island-viewport-v682{background:#082b4d!important}

/* Whisperfall remains above its own islet but never creates a full-width
   visual layer. Its DOM art can extend into north overscan while the terrain
   island itself stays completely inside the canvas. */
.ggi-waterfall-v749{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
}

/* Island Board: the art is the only visible surface. Suppress every button,
   focus, active, and tap container treatment so its collision never looks like
   a rounded rectangle on iPhone Safari. */
.gg-island-landmark-v682.board,
.gg-island-landmark-v682.board:hover,
.gg-island-landmark-v682.board:focus,
.gg-island-landmark-v682.board:focus-visible,
.gg-island-landmark-v682.board:active{
  width:220px!important;
  height:118px!important;
  padding:0!important;
  margin:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  outline-offset:0!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  -webkit-tap-highlight-color:transparent!important;
  filter:none!important;
}
.gg-island-landmark-v682.board:active{transform:translate(-50%,-100%)!important}
.gg-island-landmark-v682.board::before{
  inset:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:url("island-board-sign-v753.png") center/100% 100% no-repeat!important;
  filter:drop-shadow(0 7px 5px rgba(0,0,0,.24))!important;
}


/* v761 — ambient reef animation, workshop live FX, and Whisperfall Water Star. */
.ggi-land-art-v712{animation:ggi-land-art-drift-v761 4.8s ease-in-out infinite;transform-origin:50% 72%;will-change:transform,filter}
.ggi-land-art-v712.variant-1{animation-delay:-1.4s}.ggi-land-art-v712.variant-2{animation-delay:-2.6s}
@keyframes ggi-land-art-drift-v761{0%,100%{transform:translate(-50%,-50%) rotate(0deg);filter:drop-shadow(0 4px 3px rgba(36,57,24,.18)) brightness(1)}50%{transform:translate(-50%,calc(-50% - 4px)) rotate(.5deg);filter:drop-shadow(0 8px 6px rgba(36,57,24,.2)) brightness(1.05)}}
.ggi-land-art-v712::after{content:"";position:absolute;inset:-10px 34px auto auto;width:48px;height:62px;pointer-events:none;background:radial-gradient(circle at 55% 80%,rgba(191,247,255,.35),rgba(191,247,255,0) 55%),radial-gradient(circle at 40% 62%,rgba(247,255,255,.92) 0 2px,transparent 3px),radial-gradient(circle at 58% 42%,rgba(247,255,255,.72) 0 3px,transparent 4px),radial-gradient(circle at 35% 16%,rgba(247,255,255,.54) 0 4px,transparent 5px);animation:ggi-land-art-bubbles-v761 4.4s ease-in-out infinite}
@keyframes ggi-land-art-bubbles-v761{0%{transform:translateY(10px);opacity:.12}24%{opacity:.58}100%{transform:translateY(-26px);opacity:0}}
.ggi-grim-workshop-v737{overflow:visible}
.ggi-grim-workshop-fx-v761{position:absolute;pointer-events:none;z-index:3}
.ggi-grim-workshop-fx-v761.smoke{left:178px;top:14px;width:66px;height:94px;filter:drop-shadow(0 6px 8px rgba(43,29,53,.26))}
.ggi-grim-workshop-fx-v761.smoke i{position:absolute;left:50%;bottom:2px;width:23px;height:23px;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(255,222,245,.9),rgba(217,154,222,.72) 40%,rgba(146,103,170,.32) 74%,rgba(146,103,170,0) 78%);animation:ggi-workshop-smoke-v761 3.6s ease-in-out infinite}
.ggi-grim-workshop-fx-v761.smoke i:nth-child(2){left:32%;animation-delay:-1.15s}.ggi-grim-workshop-fx-v761.smoke i:nth-child(3){left:62%;animation-delay:-2.3s}
@keyframes ggi-workshop-smoke-v761{0%{transform:translate(-50%,0) scale(.48);opacity:0}18%{opacity:.84}100%{transform:translate(calc(-50% + 12px),-78px) scale(1.42);opacity:0}}
.ggi-grim-workshop-fx-v761.cauldron{left:97px;top:293px;width:60px;height:50px;filter:drop-shadow(0 0 9px rgba(107,255,122,.2))}
.ggi-grim-workshop-fx-v761.cauldron::before{content:"";position:absolute;left:6px;right:6px;bottom:6px;height:18px;border-radius:50%;background:radial-gradient(circle at 50% 40%,rgba(185,255,177,.95),rgba(64,205,86,.86) 48%,rgba(16,92,42,.96) 78%);box-shadow:0 0 14px rgba(95,255,127,.38);animation:ggi-workshop-goop-v761 1.45s ease-in-out infinite alternate}
.ggi-grim-workshop-fx-v761.cauldron i{position:absolute;bottom:14px;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 34% 34%,rgba(236,255,236,.96),rgba(112,243,112,.84) 48%,rgba(52,186,69,.12) 72%);animation:ggi-workshop-bubble-v761 1.85s ease-in infinite}
.ggi-grim-workshop-fx-v761.cauldron i:nth-child(1){left:11px}.ggi-grim-workshop-fx-v761.cauldron i:nth-child(2){left:25px;animation-delay:-.62s}.ggi-grim-workshop-fx-v761.cauldron i:nth-child(3){left:39px;animation-delay:-1.2s}
@keyframes ggi-workshop-goop-v761{0%{transform:scaleX(.96) scaleY(.92);filter:hue-rotate(0deg)}100%{transform:scaleX(1.04) scaleY(1.04);filter:hue-rotate(16deg)}}
@keyframes ggi-workshop-bubble-v761{0%{transform:translateY(4px) scale(.45);opacity:0}22%{opacity:.96}100%{transform:translateY(-22px) scale(1.18);opacity:0}}
.ggi-waterfall-pet-v761{position:absolute;left:0;top:0;width:76px;height:68px;padding:0;border:0;background:none;pointer-events:auto;cursor:pointer;transform-origin:50% 60%;filter:drop-shadow(0 7px 8px rgba(62,35,67,.28))}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v761,.ggi-waterfall-pet-v761 .ggi-waterfall-pet-shell-v761,.ggi-waterfall-pet-v761 .ggi-waterfall-pet-bubbles-v761{position:absolute;inset:0;display:block;pointer-events:none}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v761::before{content:"";position:absolute;left:8px;top:7px;width:60px;height:54px;background:radial-gradient(circle at 48% 34%,hsl(var(--ggi-water-star-accent-v761,18deg) 100% 92%),hsl(var(--ggi-water-star-hue-v761,0deg) 90% 74%) 38%,hsl(var(--ggi-water-star-hue-v761,0deg) 72% 59%) 100%);clip-path:path('M30 0C36 9 43 16 53 20C61 24 71 24 76 31C69 36 65 43 62 52C59 60 58 67 52 74C44 71 37 70 30 68C23 70 16 71 8 74C2 67 1 60 -2 52C-5 43 -9 36 -16 31C-11 24 -1 24 7 20C17 16 24 9 30 0Z');border-radius:28px;box-shadow:inset 0 -4px 0 rgba(167,57,110,.22)}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-shell-v761::before{content:"";position:absolute;left:19px;top:18px;width:39px;height:34px;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.98),rgba(255,228,239,.9) 55%,rgba(255,255,255,0) 100%);clip-path:path('M19 0C23 5 28 8 34 10C39 12 45 12 49 16C44 19 41 23 39 28C37 34 36 39 32 44C27 42 23 41 19 40C15 41 11 42 6 44C2 39 1 34 -1 28C-3 23 -6 19 -11 16C-7 12 -1 12 4 10C10 8 15 5 19 0Z');opacity:.78}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v761::after{content:"";position:absolute;left:24px;top:24px;width:28px;height:16px;background:radial-gradient(circle at 20% 35%,#fff 0 2px,transparent 3px),radial-gradient(circle at 80% 35%,#fff 0 2px,transparent 3px),radial-gradient(circle at 22% 40%,#434e86 0 5px,transparent 6px),radial-gradient(circle at 78% 40%,#434e86 0 5px,transparent 6px);border-radius:20px}
.ggi-waterfall-pet-v761::after{content:"";position:absolute;left:27px;top:44px;width:22px;height:10px;border-bottom:3px solid rgba(126,69,102,.95);border-radius:0 0 20px 20px;pointer-events:none}
.ggi-waterfall-pet-bubbles-v761 i{position:absolute;bottom:16px;width:7px;height:7px;border-radius:50%;background:rgba(247,253,255,.86);box-shadow:0 0 0 2px rgba(187,244,255,.16);animation:ggi-water-star-bubbles-v761 2.2s linear infinite}
.ggi-waterfall-pet-bubbles-v761 i:nth-child(1){left:8px}.ggi-waterfall-pet-bubbles-v761 i:nth-child(2){left:18px;animation-delay:-.8s}.ggi-waterfall-pet-bubbles-v761 i:nth-child(3){left:60px;animation-delay:-1.35s}
@keyframes ggi-water-star-bubbles-v761{0%{transform:translateY(8px) scale(.4);opacity:0}18%{opacity:.76}100%{transform:translateY(-30px) scale(1.08);opacity:0}}
.ggi-waterfall-pet-v761.caught-v761{animation:ggi-water-star-caught-v761 .58s ease-in-out}
@keyframes ggi-water-star-caught-v761{0%{transform:scale(1)}35%{transform:scale(1.18)}100%{transform:scale(.82);opacity:.05}}


/* v762 — workshop FX placement cleanup and squid-style Whisperfall pet. */
.ggi-grim-workshop-fx-v761{z-index:4}
.ggi-grim-workshop-fx-v761.smoke{left:6px;top:40px;width:56px;height:90px;filter:drop-shadow(0 6px 8px rgba(43,29,53,.28))}
.ggi-grim-workshop-fx-v761.smoke i{width:21px;height:21px;bottom:0;animation-duration:3s}
.ggi-grim-workshop-fx-v761.smoke i:nth-child(2){left:38%}.ggi-grim-workshop-fx-v761.smoke i:nth-child(3){left:58%}
@keyframes ggi-workshop-smoke-v761{0%{transform:translate(-50%,0) scale(.42);opacity:0}14%{opacity:.88}100%{transform:translate(calc(-50% + 10px),-74px) scale(1.36);opacity:0}}
.ggi-grim-workshop-fx-v761.cauldron{left:10px;top:398px;width:48px;height:34px;filter:drop-shadow(0 0 10px rgba(107,255,122,.24))}
.ggi-grim-workshop-fx-v761.cauldron::before{left:5px;right:5px;bottom:4px;height:11px;box-shadow:0 0 10px rgba(95,255,127,.4)}
.ggi-grim-workshop-fx-v761.cauldron i{bottom:10px;width:8px;height:8px;animation-duration:1.5s}
.ggi-grim-workshop-fx-v761.cauldron i:nth-child(1){left:10px}.ggi-grim-workshop-fx-v761.cauldron i:nth-child(2){left:20px}.ggi-grim-workshop-fx-v761.cauldron i:nth-child(3){left:30px}
.ggi-waterfall-pet-v761{width:78px;height:76px;filter:drop-shadow(0 7px 8px rgba(62,35,67,.26))}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762{position:absolute;left:7px;top:6px;width:64px;height:62px;display:block;border-radius:52% 52% 44% 44%/62% 62% 38% 38%;background:radial-gradient(circle at 42% 24%,hsl(var(--ggi-water-star-accent-v761,344deg) 100% 88%),hsl(var(--ggi-water-star-hue-v761,332deg) 92% 76%) 45%,hsl(var(--ggi-water-star-hue-v761,332deg) 78% 65%) 100%);border:2px solid rgba(179,88,128,.48);box-shadow:inset 0 -6px 0 rgba(182,86,126,.16);animation:ggi-squishy-squid-body-v762 1.9s ease-in-out infinite}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762::before{content:"";position:absolute;left:12px;right:12px;top:10px;height:28px;border-radius:50%;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.72),rgba(255,255,255,0) 72%)}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .fin{position:absolute;top:20px;width:18px;height:16px;background:hsl(var(--ggi-water-star-hue-v761,332deg) 86% 72%);border:2px solid rgba(179,88,128,.38);border-radius:70% 40% 60% 48%;opacity:.95}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .fin.left{left:-7px;transform:rotate(-26deg)}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .fin.right{right:-7px;transform:scaleX(-1) rotate(-26deg)}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .tentacle{position:absolute;bottom:-7px;width:8px;height:20px;border-radius:0 0 10px 10px;background:linear-gradient(180deg,hsl(var(--ggi-water-star-accent-v761,344deg) 96% 84%),hsl(var(--ggi-water-star-hue-v761,332deg) 76% 63%));animation:ggi-squishy-squid-tentacle-v762 1.35s ease-in-out infinite}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .t1{left:14px;animation-delay:-.2s}.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .t2{left:25px;animation-delay:-.45s}.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .t3{left:36px;animation-delay:-.15s}.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .t4{left:47px;animation-delay:-.6s}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .face{position:absolute;left:17px;top:23px;width:30px;height:22px}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .face::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8px 11px,rgba(255,255,255,.98) 0 2px,transparent 3px),radial-gradient(circle at 22px 11px,rgba(255,255,255,.98) 0 2px,transparent 3px),linear-gradient(rgba(119,74,101,.95),rgba(119,74,101,.95)) 6px 10px/4px 2px no-repeat,linear-gradient(rgba(119,74,101,.95),rgba(119,74,101,.95)) 20px 10px/4px 2px no-repeat,radial-gradient(circle at 15px 16px,rgba(119,74,101,.96) 0 1.5px,transparent 2.5px);opacity:.95}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .face::after{content:"";position:absolute;left:10px;top:14px;width:10px;height:5px;border-bottom:2px solid rgba(127,64,93,.92);border-radius:0 0 10px 10px}
.ggi-waterfall-pet-bubbles-v761 i{width:6px;height:6px}
@keyframes ggi-squishy-squid-body-v762{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(1px) scaleY(.96)}}
@keyframes ggi-squishy-squid-tentacle-v762{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(2px) rotate(7deg)}}

/* v764 regression-safe polish: exterior workshop FX and higher fidelity Squishy Squid. */
.ggi-grim-workshop-sprite-v737{
  animation:ggi-workshop-sprite-idle-v764 4.8s ease-in-out infinite;
  transform-origin:50% 100%;
  will-change:transform;
}
@keyframes ggi-workshop-sprite-idle-v764{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
.ggi-grim-workshop-fx-v761.smoke{
  left:7px!important;top:38px!important;width:60px!important;height:96px!important;
  filter:drop-shadow(0 5px 7px rgba(48,31,58,.26))!important;
}
.ggi-grim-workshop-fx-v761.smoke i{
  width:21px!important;height:21px!important;bottom:2px!important;
  background:radial-gradient(circle at 36% 34%,rgba(255,244,255,.86),rgba(225,169,244,.65) 42%,rgba(164,112,188,.28) 73%,transparent 78%)!important;
  animation:ggi-workshop-smoke-v764 3s ease-in-out infinite!important;
}
.ggi-grim-workshop-fx-v761.smoke i:nth-child(1){left:46%!important}
.ggi-grim-workshop-fx-v761.smoke i:nth-child(2){left:34%!important;animation-delay:-1s!important}
.ggi-grim-workshop-fx-v761.smoke i:nth-child(3){left:58%!important;animation-delay:-2s!important}
@keyframes ggi-workshop-smoke-v764{
  0%{transform:translate(-50%,4px) scale(.44);opacity:0}
  16%{opacity:.82}
  100%{transform:translate(calc(-50% + 10px),-76px) scale(1.38);opacity:0}
}
.ggi-grim-workshop-fx-v761.cauldron{
  left:11px!important;top:393px!important;width:51px!important;height:25px!important;
  filter:drop-shadow(0 0 8px rgba(92,255,120,.2))!important;
}
.ggi-grim-workshop-fx-v761.cauldron::before{
  left:6px!important;right:6px!important;bottom:2px!important;height:11px!important;
  background:radial-gradient(ellipse at 50% 40%,rgba(220,255,216,.96),rgba(92,245,107,.92) 42%,rgba(31,172,61,.88) 72%,rgba(18,101,43,.92) 100%)!important;
  box-shadow:0 0 10px rgba(75,255,112,.28)!important;
  animation:ggi-workshop-goo-v764 1.45s ease-in-out infinite!important;
}
.ggi-grim-workshop-fx-v761.cauldron i{
  width:7px!important;height:7px!important;bottom:9px!important;
  background:radial-gradient(circle at 35% 35%,#efffec,#78ef84 58%,#2f9d4b)!important;
  box-shadow:0 0 7px rgba(83,255,111,.32)!important;
  animation:ggi-workshop-bubble-v764 1.6s ease-in infinite!important;
}
.ggi-grim-workshop-fx-v761.cauldron i:nth-child(1){left:11px!important}
.ggi-grim-workshop-fx-v761.cauldron i:nth-child(2){left:22px!important;animation-delay:-.5s!important}
.ggi-grim-workshop-fx-v761.cauldron i:nth-child(3){left:34px!important;animation-delay:-1s!important}
@keyframes ggi-workshop-goo-v764{0%,100%{transform:scaleX(.96) scaleY(.94)}50%{transform:scaleX(1.04) scaleY(1.08)}}
@keyframes ggi-workshop-bubble-v764{0%{transform:translateY(4px) scale(.45);opacity:0}20%{opacity:.92}100%{transform:translateY(-18px) scale(1.05);opacity:0}}

/* Keep the old shark hidden. v764 uses one dedicated deep-water swimmer. */
.ggi-anchor-shark-v743{display:none!important}
.ggi-sea-v764{
  position:absolute;left:0;top:0;display:block;pointer-events:none;
  width:210px;height:108px;z-index:15;opacity:.88;
  filter:drop-shadow(0 10px 10px rgba(5,39,56,.2));
  transform-origin:50% 50%;
}
.ggi-sea-v764 .motion,.ggi-sea-v764 svg{display:block;width:100%;height:100%}
.ggi-sea-v764.shark{
  offset-path:path("M 145 520 C 205 290 390 120 650 90 C 780 76 865 165 835 295 C 805 425 610 545 380 590 C 265 612 180 590 145 520");
  offset-rotate:auto 0deg;
  animation:ggi-shark-route-v764 28s linear infinite;
}
.ggi-sea-v764.shark .body{fill:#566775;stroke:#253641;stroke-width:6}
.ggi-sea-v764.shark .tail,.ggi-sea-v764.shark .fin{fill:#455866;stroke:#253641;stroke-width:6;stroke-linejoin:round}
.ggi-sea-v764.shark .gill{fill:none;stroke:#354955;stroke-width:4;stroke-linecap:round}
.ggi-sea-v764.shark .eye{fill:#2d2430}.ggi-sea-v764.shark .glint{fill:#f7fbff}
.ggi-sea-v764.shark .motion{animation:ggi-shark-body-v764 1.1s ease-in-out infinite alternate}
@keyframes ggi-shark-route-v764{0%{offset-distance:0%}100%{offset-distance:100%}}
@keyframes ggi-shark-body-v764{from{transform:rotate(-1deg) scaleY(.99)}to{transform:rotate(1deg) scaleY(1.01)}}

.ggi-sea-v764.stingray{
  width:176px;height:104px;z-index:14;opacity:.84;
  offset-path:path("M 1815 2140 C 1805 1990 1805 1805 1880 1680 C 1915 1615 1990 1645 2020 1740 C 2050 1860 2030 2070 1985 2170 C 1935 2240 1840 2220 1815 2140");
  offset-rotate:auto 0deg;
  animation:ggi-stingray-route-v764 30s linear infinite;
}
.ggi-sea-v764.stingray .wing{fill:#657581;stroke:#2c3c46;stroke-width:6;stroke-linejoin:round}
.ggi-sea-v764.stingray .tail{fill:none;stroke:#354851;stroke-width:7;stroke-linecap:round}
.ggi-sea-v764.stingray .ridge{fill:none;stroke:rgba(237,248,255,.24);stroke-width:6;stroke-linecap:round}
.ggi-sea-v764.stingray .eye{fill:#263038}
.ggi-sea-v764.stingray .motion{animation:ggi-stingray-wing-v764 1.8s ease-in-out infinite alternate}
.ggi-sea-v764.stingray.flee-v764{animation-duration:4.2s!important;opacity:.58}
@keyframes ggi-stingray-route-v764{
  0%{offset-distance:0%}
  22%{offset-distance:27%}
  34%{offset-distance:27%}
  62%{offset-distance:66%}
  72%{offset-distance:66%}
  100%{offset-distance:100%}
}
@keyframes ggi-stingray-wing-v764{from{transform:scaleY(.94)}to{transform:scaleY(1.04)}}

/* Refined pet art while retaining the stable v762 behavior. */
.ggi-waterfall-pet-v761{width:80px!important;height:78px!important;filter:drop-shadow(0 8px 10px rgba(62,35,67,.2))!important}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762{
  left:6px!important;top:5px!important;width:66px!important;height:64px!important;
  border-radius:48% 48% 44% 44%/58% 58% 42% 42%!important;
  background:radial-gradient(circle at 48% 16%,rgba(255,255,255,.92),rgba(255,255,255,0) 26%),radial-gradient(circle at 40% 24%,hsl(var(--ggi-water-star-accent-v761,344deg) 100% 91%),hsl(var(--ggi-water-star-hue-v761,332deg) 94% 80%) 44%,hsl(var(--ggi-water-star-hue-v761,332deg) 82% 69%) 74%,hsl(var(--ggi-water-star-hue-v761,332deg) 72% 60%) 100%)!important;
  border:2px solid rgba(171,91,130,.32)!important;
  box-shadow:inset 0 -7px 0 rgba(160,74,112,.11),inset 0 0 0 1px rgba(255,255,255,.22)!important;
}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .fin{top:21px!important;width:20px!important;height:18px!important;border-color:rgba(166,82,123,.3)!important}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .tentacle{bottom:-8px!important;width:9px!important;height:22px!important}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .face{left:18px!important;top:23px!important;width:30px!important;height:23px!important}
.ggi-waterfall-pet-v761 .ggi-waterfall-pet-body-v762 .face::before{
  background:radial-gradient(circle at 8px 11px,#fff 0 2px,transparent 3px),radial-gradient(circle at 22px 11px,#fff 0 2px,transparent 3px),radial-gradient(circle at 8px 11px,#51485f 0 5px,transparent 6px),radial-gradient(circle at 22px 11px,#51485f 0 5px,transparent 6px),radial-gradient(circle at 3px 16px,rgba(255,176,202,.7) 0 5px,transparent 6px),radial-gradient(circle at 27px 16px,rgba(255,176,202,.7) 0 5px,transparent 6px)!important;
}
.ggi-waterfall-ink-puff-v764{
  position:absolute;left:0;top:0;width:76px;height:72px;border-radius:50%;pointer-events:none;z-index:6200;
  background:radial-gradient(circle at 45% 42%,rgba(82,75,111,.96),rgba(61,56,91,.91) 35%,rgba(43,40,66,.7) 62%,rgba(30,28,48,0) 100%);
  box-shadow:-14px 8px 0 rgba(68,61,97,.48),15px 7px 0 rgba(77,69,108,.35),5px -12px 0 rgba(58,52,85,.4);
  animation:ggi-waterfall-ink-v764 .88s ease-out forwards;
}
@keyframes ggi-waterfall-ink-v764{0%{opacity:0;scale:.35}18%{opacity:.96;scale:1}100%{opacity:0;scale:1.42}}

body.ggi-lite-mode-v708 .ggi-sea-v764{filter:none!important}
@media(max-width:560px){.ggi-sea-v764.shark{width:190px;height:98px}.ggi-sea-v764.stingray{width:158px;height:94px}}
@media(prefers-reduced-motion:reduce){.ggi-sea-v764{animation-duration:70s!important}.ggi-sea-v764 .motion{animation:none!important}.ggi-grim-workshop-sprite-v737{animation:none!important}}

/* ========================================================================
   v765 — reference-driven Island cleanup
   Precise prop bounds, tap-art cleanup, detailed sea life, rebuilt celestial
   actor + nearby lens flare, pink Squishy Squid sprite, and workshop prompt.
   ======================================================================== */

/* Props stay visually clean when tapped. Collision lives in JS footprints,
   never in a visible rectangular button/focus treatment. */
.ggi-surfboard-v716,
.ggi-surfboard-v716:focus,
.ggi-surfboard-v716:focus-visible,
.ggi-surfboard-v716:active{
  outline:0!important;
  outline-offset:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
  -webkit-touch-callout:none!important;
  user-select:none!important;
}
.ggi-sandcastle-v687.ggi-sand-arena-v710,
.ggi-sandcastle-v687.ggi-sand-arena-v710:hover,
.ggi-sandcastle-v687.ggi-sand-arena-v710:focus,
.ggi-sandcastle-v687.ggi-sand-arena-v710:focus-visible,
.ggi-sandcastle-v687.ggi-sand-arena-v710:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  outline:0!important;
  outline-offset:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
  -webkit-touch-callout:none!important;
}
.ggi-sandcastle-v687.ggi-sand-arena-v710>img{pointer-events:none!important}

/* Umbrella: the canopy owns the upper art and the base/pole owns collision.
   This keeps the player from being incorrectly hidden by the whole sprite. */
.ggi-umbrella-v687.ggi-umbrella-v697{isolation:isolate;overflow:visible!important}
.ggi-umbrella-v697>.ggi-umbrella-false-shadow-v713{z-index:0!important;pointer-events:none!important}
.ggi-umbrella-v697>.ggi-umbrella-frame-v731{z-index:2!important;pointer-events:none!important}
.ggi-umbrella-v697>.ggi-umbrella-canopy-v713{z-index:4!important;pointer-events:none!important;transform:translateY(-2px)}

/* Detailed pink Squishy Squid, using a real four-frame sprite atlas instead
   of the former CSS blob. */
.ggi-waterfall-pet-v761.ggi-waterfall-pet-v765{
  width:104px!important;
  height:104px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  -webkit-tap-highlight-color:transparent!important;
  filter:drop-shadow(0 8px 7px rgba(73,33,62,.30))!important;
}
.ggi-waterfall-pet-v765:focus,.ggi-waterfall-pet-v765:focus-visible,.ggi-waterfall-pet-v765:active{outline:0!important;background:transparent!important;box-shadow:none!important}
.ggi-waterfall-pet-v765::after{content:none!important;display:none!important}
.ggi-waterfall-pet-v765 .ggi-waterfall-pet-body-v761,
.ggi-waterfall-pet-v765 .ggi-waterfall-pet-body-v762,
.ggi-waterfall-pet-v765 .ggi-waterfall-pet-shell-v761{display:none!important}
.ggi-waterfall-squid-sprite-v765{
  position:absolute;
  left:0;top:0;
  width:104px;height:104px;
  display:block;
  pointer-events:none;
  background:url("island-pink-squid-atlas-v765.svg") 0 0/400% 100% no-repeat;
  image-rendering:auto;
  transform-origin:50% 58%;
  animation:ggi-pink-squid-atlas-v765 1.05s steps(1,end) infinite,
            ggi-pink-squid-breathe-v765 2.1s ease-in-out infinite alternate;
}
.ggi-waterfall-pet-v765 .ggi-waterfall-pet-bubbles-v761{inset:-7px -4px 0!important;z-index:3!important}
.ggi-waterfall-pet-v765 .ggi-waterfall-pet-bubbles-v761 i{width:8px;height:8px;background:rgba(244,253,255,.92);box-shadow:inset 0 0 0 1px rgba(102,190,220,.25),0 0 7px rgba(227,251,255,.35)}
@keyframes ggi-pink-squid-atlas-v765{
  0%,23.999%{background-position:0 0}
  24%,47.999%{background-position:33.333333% 0}
  48%,71.999%{background-position:66.666667% 0}
  72%,100%{background-position:100% 0}
}
@keyframes ggi-pink-squid-breathe-v765{from{scale:.985 1.015}to{scale:1.018 .985}}
.ggi-waterfall-pet-v765.caught-v761 .ggi-waterfall-squid-sprite-v765{animation-duration:.16s,.35s}

/* Authoritative shark + stingray. These are recreated after water-life host
   resets, then moved by JS rather than offset-path so Safari cannot drop them. */
.ggi-feature-sea-v765{
  position:absolute;
  left:0;top:0;
  z-index:18;
  pointer-events:none!important;
  transform-origin:50% 50%;
  will-change:transform;
  opacity:.80;
  filter:drop-shadow(0 9px 8px rgba(6,45,70,.24));
  mix-blend-mode:normal;
}
.ggi-feature-sea-v765.shark{width:236px;height:112px;opacity:.72}
.ggi-feature-sea-v765.stingray{width:208px;height:134px;opacity:.82}
.ggi-feature-sea-v765 .ggi-feature-sea-motion-v765,
.ggi-feature-sea-v765 svg{display:block;width:100%;height:100%;overflow:visible}
.ggi-feature-sea-v765.shark .ggi-feature-sea-motion-v765{animation:ggi-shark-swim-v765 1.28s ease-in-out infinite alternate;transform-origin:45% 52%}
.ggi-feature-shark-body-v765 .body{fill:url(#sharkTopV765);stroke:#263f4a;stroke-width:5.5;stroke-linejoin:round}
.ggi-feature-shark-body-v765 .belly{fill:url(#sharkBellyV765);stroke:none;opacity:.88}
.ggi-feature-shark-body-v765 .tail,.ggi-feature-shark-body-v765 .dorsal,.ggi-feature-shark-body-v765 .fin{fill:#536d79;stroke:#263f4a;stroke-width:5.5;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}
.ggi-feature-shark-body-v765 .fin-a{animation:ggi-shark-fin-v765 1.15s ease-in-out infinite alternate}.ggi-feature-shark-body-v765 .fin-b{animation:ggi-shark-fin-v765 1.15s ease-in-out -.58s infinite alternate}
.ggi-feature-shark-body-v765 .tail{animation:ggi-shark-tail-v765 .72s ease-in-out infinite alternate}
.ggi-feature-shark-body-v765 .snout{fill:rgba(118,143,151,.3);stroke:none}
.ggi-feature-shark-body-v765 .eye{fill:#15232b}.ggi-feature-shark-body-v765 .eye-glint{fill:#f8ffff}
.ggi-feature-shark-body-v765 .gill{fill:none;stroke:#3d535d;stroke-width:3;stroke-linecap:round}
.ggi-feature-shark-body-v765 .highlight{fill:none;stroke:rgba(231,248,250,.32);stroke-width:4;stroke-linecap:round}
@keyframes ggi-shark-swim-v765{from{transform:rotate(-1deg) scaleY(.985)}to{transform:rotate(1deg) scaleY(1.018)}}
@keyframes ggi-shark-tail-v765{from{rotate:-7deg}to{rotate:7deg}}
@keyframes ggi-shark-fin-v765{from{rotate:-3deg}to{rotate:4deg}}

.ggi-feature-sea-v765.stingray .ggi-feature-sea-motion-v765{animation:ggi-ray-body-v765 2.2s ease-in-out infinite alternate;transform-origin:50% 52%}
.ggi-feature-stingray-v765 .wing-body{fill:url(#rayTopV765);stroke:#30434d;stroke-width:5.5;stroke-linejoin:round}
.ggi-feature-stingray-v765 .belly{fill:url(#rayBellyV765);stroke:#4f6063;stroke-width:2.3;opacity:.58}
.ggi-feature-stingray-v765 .tail{fill:none;stroke:#344b55;stroke-width:7;stroke-linecap:round;transform-box:fill-box;transform-origin:0 0;animation:ggi-ray-tail-v765 1.8s ease-in-out infinite alternate}
.ggi-feature-stingray-v765 .ridge{fill:none;stroke:rgba(235,248,249,.36);stroke-width:3;stroke-linecap:round}
.ggi-feature-stingray-v765 .spots{fill:rgba(203,219,214,.34)}
.ggi-feature-stingray-v765 .eye{fill:#1f3038}.ggi-feature-stingray-v765 .smile{fill:none;stroke:#304047;stroke-width:2.5;stroke-linecap:round}
.ggi-feature-stingray-v765 .wings{transform-box:fill-box;transform-origin:50% 58%;animation:ggi-ray-wings-v765 1.45s ease-in-out infinite alternate}
@keyframes ggi-ray-body-v765{from{transform:translateY(2px) rotate(-.7deg)}to{transform:translateY(-2px) rotate(.7deg)}}
@keyframes ggi-ray-wings-v765{from{transform:scaleY(.90)}to{transform:scaleY(1.055)}}
@keyframes ggi-ray-tail-v765{from{rotate:-5deg}to{rotate:7deg}}
body.ggi-island-night-v715 .ggi-feature-sea-v765{opacity:.48;filter:brightness(.76) saturate(.82) drop-shadow(0 8px 7px rgba(0,18,45,.3))}
body.ggi-lite-mode-v708 .ggi-feature-sea-v765{filter:none!important}

/* Full-frame celestial actor. v758 clipped the old atlas on purpose; v765 no
   longer depends on that atlas and must explicitly allow the complete sun,
   flames, moon, and transformation particles to extend outside the actor. */
.ggi-celestial-v748.ggi-celestial-v765{
  width:154px!important;
  height:154px!important;
  overflow:visible!important;
  isolation:isolate;
  filter:drop-shadow(0 7px 8px rgba(0,0,0,.22))!important;
  animation:ggi-celestial-idle-v765 4s ease-in-out infinite alternate!important;
}
.ggi-celestial-v765 .ggi-celestial-art-v748{display:none!important}
.ggi-celestial-stage-v765{position:absolute;inset:0;display:grid;place-items:center;z-index:3;overflow:visible;pointer-events:none}
.ggi-celestial-stage-v765>span{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.ggi-celestial-v765[data-celestial-kind="sun"] .ggi-celestial-sun-v765,
.ggi-celestial-v765[data-celestial-kind="green-sun"] .ggi-celestial-sun-v765{display:block}
.ggi-celestial-v765[data-celestial-kind="moon"] .ggi-celestial-moon-v765,
.ggi-celestial-v765[data-celestial-kind="red-moon"] .ggi-celestial-moon-v765{display:block}
.ggi-celestial-v765[data-celestial-kind="cocoon"] .ggi-celestial-cocoon-v765{display:block}
.ggi-celestial-v765[data-celestial-kind="transition"] .ggi-celestial-swirl-v765{display:block}
.ggi-celestial-v765[data-celestial-kind="shell"] .ggi-celestial-cocoon-v765{display:block;opacity:.88;animation:ggi-celestial-shell-idle-v765 .66s ease-in-out infinite alternate}

.ggi-celestial-sun-v765{width:142px;height:142px;animation:ggi-sun-idle-v765 2.5s ease-in-out infinite alternate}
.ggi-celestial-sun-v765>b{
  position:absolute;left:50%;top:50%;width:82px;height:82px;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle at 38% 31%,#fffbd1 0 7%,#ffe77b 12%,#ffc12f 42%,#f28b18 74%,#d95a0b 100%);
  border:3px solid rgba(172,74,5,.58);
  box-shadow:inset -8px -9px 0 rgba(198,82,4,.14),inset 7px 6px 0 rgba(255,255,255,.18),0 0 13px rgba(255,178,42,.76),0 0 34px rgba(255,154,24,.42);
}
.ggi-celestial-sun-v765>b:before{content:"";position:absolute;left:17px;top:13px;width:28px;height:17px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,255,224,.66),rgba(255,255,224,0) 72%);rotate:-22deg}
.ggi-celestial-sun-v765>i{
  --ray:0deg;position:absolute;left:50%;top:50%;width:30px;height:40px;margin:-20px -15px;
  background:url("island-flame-only-v722.v747.webp") 0 0/400% 100% no-repeat;
  transform-origin:50% 50%;
  transform:rotate(var(--ray)) translateY(-57px) scale(.61);
  filter:hue-rotate(-13deg) saturate(1.12) brightness(1.2) drop-shadow(0 0 4px rgba(255,183,46,.72));
  animation:ggi-celestial-flame-v765 .82s steps(1,end) infinite;
}
.ggi-celestial-sun-v765>i:nth-of-type(1){--ray:0deg}.ggi-celestial-sun-v765>i:nth-of-type(2){--ray:30deg;animation-delay:-.22s}.ggi-celestial-sun-v765>i:nth-of-type(3){--ray:60deg;animation-delay:-.44s}.ggi-celestial-sun-v765>i:nth-of-type(4){--ray:90deg;animation-delay:-.12s}.ggi-celestial-sun-v765>i:nth-of-type(5){--ray:120deg;animation-delay:-.61s}.ggi-celestial-sun-v765>i:nth-of-type(6){--ray:150deg;animation-delay:-.34s}.ggi-celestial-sun-v765>i:nth-of-type(7){--ray:180deg;animation-delay:-.53s}.ggi-celestial-sun-v765>i:nth-of-type(8){--ray:210deg;animation-delay:-.18s}.ggi-celestial-sun-v765>i:nth-of-type(9){--ray:240deg;animation-delay:-.70s}.ggi-celestial-sun-v765>i:nth-of-type(10){--ray:270deg;animation-delay:-.39s}.ggi-celestial-sun-v765>i:nth-of-type(11){--ray:300deg;animation-delay:-.09s}.ggi-celestial-sun-v765>i:nth-of-type(12){--ray:330deg;animation-delay:-.49s}
.ggi-celestial-v765[data-celestial-kind="green-sun"] .ggi-celestial-sun-v765>b{background:radial-gradient(circle at 38% 31%,#f4ffd8 0 7%,#d8ff71 15%,#8ed82e 47%,#3a9c2a 78%,#17652b 100%);border-color:rgba(37,108,35,.58);box-shadow:inset -8px -9px 0 rgba(31,103,28,.18),inset 7px 6px 0 rgba(255,255,255,.17),0 0 14px rgba(142,238,58,.75),0 0 34px rgba(74,190,54,.42)}
.ggi-celestial-v765[data-celestial-kind="green-sun"] .ggi-celestial-sun-v765>i{filter:hue-rotate(69deg) saturate(1.18) brightness(1.04) drop-shadow(0 0 4px rgba(159,243,82,.72))}
@keyframes ggi-celestial-idle-v765{from{transform:translate3d(-50%,calc(-50% - 4px),0) rotate(-.55deg)}to{transform:translate3d(-50%,calc(-50% + 5px),0) rotate(.55deg)}}
@keyframes ggi-sun-idle-v765{from{scale:.985;rotate:-1deg}to{scale:1.025;rotate:1deg}}
@keyframes ggi-celestial-flame-v765{0%,24.999%{background-position:0 0}25%,49.999%{background-position:33.333333% 0}50%,74.999%{background-position:66.666667% 0}75%,100%{background-position:100% 0}}

.ggi-celestial-moon-v765{
  width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle at 35% 28%,#f7fbff 0 8%,#dfeaf2 25%,#b5c9d5 61%,#748d9c 100%);
  border:3px solid rgba(71,94,109,.66);
  box-shadow:inset -10px -8px 0 rgba(67,87,103,.16),0 0 18px rgba(184,231,255,.65),0 0 36px rgba(89,173,231,.24);
  animation:ggi-moon-idle-v765 3.3s ease-in-out infinite alternate;
}
.ggi-celestial-moon-v765 i{position:absolute;border-radius:50%;background:rgba(100,127,142,.26);box-shadow:inset 2px 2px 0 rgba(75,101,116,.16),1px 1px 0 rgba(255,255,255,.23)}
.ggi-celestial-moon-v765 i:nth-child(1){width:19px;height:16px;left:20px;top:19px}.ggi-celestial-moon-v765 i:nth-child(2){width:12px;height:11px;right:17px;top:33px}.ggi-celestial-moon-v765 i:nth-child(3){width:22px;height:18px;left:36px;bottom:15px}
.ggi-celestial-v765[data-celestial-kind="red-moon"] .ggi-celestial-moon-v765{background:radial-gradient(circle at 35% 28%,#ffd0ba 0 8%,#e94b3f 27%,#a5232a 65%,#5e1424 100%);border-color:#6e1826;box-shadow:inset -10px -8px 0 rgba(87,8,24,.2),0 0 18px rgba(255,84,59,.67),0 0 38px rgba(198,21,47,.32)}
.ggi-celestial-v765[data-celestial-kind="red-moon"] .ggi-celestial-moon-v765 i{background:rgba(85,16,29,.28);box-shadow:inset 2px 2px 0 rgba(73,9,20,.2),1px 1px 0 rgba(255,184,145,.15)}
@keyframes ggi-moon-idle-v765{from{scale:.98;rotate:-2deg}to{scale:1.025;rotate:2deg}}

.ggi-celestial-cocoon-v765{width:68px;height:106px;border-radius:56% 44% 54% 46%/44% 44% 56% 56%;background:linear-gradient(102deg,#4b3527 0 11%,#b9834a 12% 27%,#ead080 28% 43%,#8b623c 44% 58%,#d9b66b 59% 73%,#69482e 74% 100%);border:4px solid #52351f;box-shadow:inset 7px 0 rgba(255,239,170,.14),inset -9px 0 rgba(48,25,21,.2),0 0 20px rgba(241,179,69,.3);animation:ggi-cocoon-idle-v765 .92s ease-in-out infinite alternate}
.ggi-celestial-cocoon-v765 i{position:absolute;left:10px;right:8px;height:6px;border-radius:50%;background:rgba(74,43,29,.42);transform:rotate(-14deg)}.ggi-celestial-cocoon-v765 i:nth-child(1){top:25px}.ggi-celestial-cocoon-v765 i:nth-child(2){top:50px;transform:rotate(11deg)}.ggi-celestial-cocoon-v765 i:nth-child(3){top:74px;transform:rotate(-8deg)}
@keyframes ggi-cocoon-idle-v765{from{transform:translate(-50%,-50%) rotate(-5deg) scale(.97)}to{transform:translate(-50%,-50%) rotate(5deg) scale(1.03)}}
@keyframes ggi-celestial-shell-idle-v765{from{filter:brightness(.92);scale:.96}to{filter:brightness(1.08);scale:1.04}}

.ggi-celestial-swirl-v765{width:112px;height:112px;border-radius:50%;animation:ggi-celestial-swirl-v765 1.08s linear infinite;background:conic-gradient(from 0deg,rgba(255,191,53,.82),rgba(255,232,127,.05) 25%,rgba(110,198,255,.74) 48%,rgba(255,255,255,.06) 72%,rgba(255,191,53,.82));-webkit-mask:radial-gradient(circle,transparent 0 47%,#000 50% 62%,transparent 65%);mask:radial-gradient(circle,transparent 0 47%,#000 50% 62%,transparent 65%);filter:drop-shadow(0 0 12px rgba(255,193,63,.48))}
.ggi-celestial-swirl-v765 i{position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:#fff4a4;box-shadow:0 0 10px #ffbd37;animation:ggi-celestial-orbit-v765 1.4s linear infinite;--orbit:48px}.ggi-celestial-swirl-v765 i:nth-child(2){--orbit:38px;animation-duration:1.02s;animation-direction:reverse;background:#a9eaff;box-shadow:0 0 9px #64caff}.ggi-celestial-swirl-v765 i:nth-child(3){--orbit:57px;animation-duration:1.8s;animation-delay:-.6s}
@keyframes ggi-celestial-swirl-v765{to{rotate:360deg}}
@keyframes ggi-celestial-orbit-v765{from{transform:rotate(0deg) translateX(var(--orbit)) rotate(0deg)}to{transform:rotate(360deg) translateX(var(--orbit)) rotate(-360deg)}}
.ggi-celestial-v765[data-celestial-kind="shell"] .ggi-celestial-shell-v748 i{opacity:.9!important;animation:ggi-shell-shiver-v765 .68s ease-in-out infinite alternate!important}
.ggi-celestial-v765[data-celestial-kind="shell"] .ggi-celestial-shell-v748 i:nth-child(2){translate:-20px -24px}.ggi-celestial-v765[data-celestial-kind="shell"] .ggi-celestial-shell-v748 i:nth-child(3){translate:26px 22px}.ggi-celestial-v765[data-celestial-kind="shell"] .ggi-celestial-shell-v748 i:nth-child(4){translate:-18px 31px}
@keyframes ggi-shell-shiver-v765{from{scale:.92;rotate:-5deg}to{scale:1.04;rotate:5deg}}
.ggi-celestial-v765 .ggi-celestial-glow-v748{left:-4%!important;top:-4%!important;width:108%!important;height:108%!important;z-index:1!important;filter:blur(7px)!important;animation:ggi-celestial-glow-pulse-v748 2.1s ease-in-out infinite alternate!important}

/* Nearby sun flare is viewport-space and intentionally sits over the world,
   below the fixed rain sheet and HUD controls. */
.ggi-celestial-lens-flare-v765{
  --ggi-lens-x-v765:50%;--ggi-lens-y-v765:18%;--ggi-lens-strength-v765:0;
  position:absolute;inset:0;z-index:9010;pointer-events:none!important;overflow:hidden;opacity:0;transition:opacity 180ms linear;mix-blend-mode:screen;
}
.ggi-celestial-lens-flare-v765.active{opacity:var(--ggi-lens-strength-v765)}
.ggi-celestial-lens-flare-v765:before{content:"";position:absolute;inset:0;background:radial-gradient(circle 80px at var(--ggi-lens-x-v765) var(--ggi-lens-y-v765),rgba(255,250,208,.9) 0,rgba(255,211,91,.42) 22%,rgba(255,167,48,.16) 46%,transparent 72%),radial-gradient(circle 20px at calc(var(--ggi-lens-x-v765) + 19%) calc(var(--ggi-lens-y-v765) + 24%),rgba(155,230,255,.36),transparent 70%),radial-gradient(circle 38px at calc(var(--ggi-lens-x-v765) + 33%) calc(var(--ggi-lens-y-v765) + 42%),rgba(255,110,92,.22),transparent 72%);filter:blur(.6px)}
.ggi-celestial-lens-flare-v765:after{content:"";position:absolute;left:var(--ggi-lens-x-v765);top:var(--ggi-lens-y-v765);width:220px;height:20px;transform:translate(-50%,-50%) rotate(-32deg);background:linear-gradient(90deg,transparent,rgba(255,251,218,.12) 30%,rgba(255,248,201,.68) 50%,rgba(255,223,135,.1) 70%,transparent);filter:blur(5px)}

/* Grim's Workshop entry confirmation. */
.ggi-workshop-confirm-v765{
  position:fixed;inset:0;z-index:10040;display:grid;place-items:center;
  padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
  background:rgba(8,5,13,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.ggi-workshop-confirm-v765>section{width:min(390px,92vw);padding:22px 18px 17px;text-align:center;border:1px solid rgba(224,184,91,.82);border-radius:22px;background:linear-gradient(155deg,#33203a 0,#1d1225 62%,#130c18);color:#faf3ff;box-shadow:inset 0 1px rgba(255,239,190,.16),0 22px 54px rgba(0,0,0,.54)}
.ggi-workshop-confirm-v765 small{display:block;color:#e7c765;font-weight:950;letter-spacing:.18em;font-size:.64rem}.ggi-workshop-confirm-v765 h2{margin:7px 0 6px;font:900 1.34rem/1.08 system-ui,sans-serif}.ggi-workshop-confirm-v765 p{margin:0 auto 17px;max-width:29ch;color:#d9cadd;font:700 .82rem/1.35 system-ui,sans-serif}.ggi-workshop-confirm-v765>section>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ggi-workshop-confirm-v765 button{min-height:50px;border:1px solid rgba(222,186,98,.72);border-radius:13px;background:linear-gradient(150deg,#67435d,#38263f);color:#fff7db;font-weight:950;letter-spacing:.07em;box-shadow:inset 0 1px rgba(255,255,255,.13),0 5px 13px rgba(0,0,0,.28)}.ggi-workshop-confirm-v765 button:first-child{background:linear-gradient(150deg,#8853a9,#543069);box-shadow:inset 0 1px rgba(255,255,255,.16),0 0 18px rgba(171,82,226,.25)}.ggi-workshop-confirm-v765 button:focus-visible{outline:3px solid #f5d674;outline-offset:2px}

/* A denser rain-ripple field stays light: only opacity/scale animate. */
.ggi-rain-ripple-v716.show,.ggi-rain-ripple-v728.show{filter:drop-shadow(0 1px 1px rgba(208,249,255,.16))}

@media(max-width:560px){
  .ggi-feature-sea-v765.shark{width:204px;height:98px}.ggi-feature-sea-v765.stingray{width:184px;height:118px}
  .ggi-celestial-v748.ggi-celestial-v765{width:146px!important;height:146px!important}
  .ggi-celestial-sun-v765{scale:.94}.ggi-celestial-moon-v765{scale:.94}.ggi-celestial-cocoon-v765{scale:.92}.ggi-celestial-swirl-v765{scale:.92}
}
@media(prefers-reduced-motion:reduce){
  .ggi-waterfall-squid-sprite-v765,.ggi-feature-sea-v765 .ggi-feature-sea-motion-v765,.ggi-feature-sea-v765 svg *,
  .ggi-celestial-v748.ggi-celestial-v765,.ggi-celestial-v765 *,
  .ggi-celestial-lens-flare-v765{animation:none!important;transition:none!important}
  .ggi-celestial-v748.ggi-celestial-v765{transform:translate3d(-50%,-50%,0)!important}
}

/* v765 stingray is a four-frame detailed sprite atlas (not a CSS placeholder). */
.ggi-feature-stingray-sprite-v765{
  position:absolute;inset:0;display:block;width:100%;height:100%;
  background:url("island-stingray-atlas-v765.svg") 0 0/400% 100% no-repeat;
  image-rendering:auto;
  animation:ggi-stingray-atlas-v765 1.28s steps(1,end) infinite;
}
@keyframes ggi-stingray-atlas-v765{
  0%,23.999%{background-position:0 0}
  24%,47.999%{background-position:33.333333% 0}
  48%,71.999%{background-position:66.666667% 0}
  72%,100%{background-position:100% 0}
}
@media(max-width:560px){.ggi-feature-sea-v765.shark{width:236px;height:112px}.ggi-feature-sea-v765.stingray{width:208px;height:134px}}
@media(prefers-reduced-motion:reduce){.ggi-feature-stingray-sprite-v765{animation:none!important;background-position:0 0!important}}


/* v766 — pier housing, reel control, fishing presentation, and final equipment layering authority. */
.ggi-workshop-confirm-v765[hidden],.ggi-house-modal-v766[hidden],.ggi-reel-button-v766[hidden]{display:none!important}

/* Fishing rod: full sprite stays visible, but rear-facing rod sits behind the avatar body. */
.gg-island-avatar-v682{overflow:visible!important}
.gg-island-avatar-v682 .ggi-equipped-tool-v690[data-tool="fishingRod"]{width:112px!important;height:112px!important;left:52%!important;top:16%!important;transform:rotate(-13deg)!important;transform-origin:36% 78%!important;overflow:visible!important;z-index:24!important;filter:drop-shadow(0 5px 3px rgba(0,0,0,.35))}
.gg-island-avatar-v682 .ggi-equipped-tool-v690[data-tool="fishingRod"] svg{display:block;width:100%;height:100%;overflow:visible!important}
.gg-island-avatar-v682[data-direction="left"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:3%!important;top:17%!important;transform:scaleX(-1) rotate(-13deg)!important}
.gg-island-avatar-v682[data-direction="right"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:51%!important;top:17%!important}
.gg-island-avatar-v682[data-direction="front"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:52%!important;top:15%!important;z-index:24!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690[data-tool="fishingRod"]{left:52%!important;top:14%!important;z-index:4!important;opacity:1!important}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682{position:relative!important;z-index:10!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705{z-index:26!important}

/* Bite control: the screen itself never reels. This dedicated control is the only reel input. */
.ggi-reel-button-v766{position:fixed;z-index:13020;left:max(15px,env(safe-area-inset-left));bottom:max(116px,calc(env(safe-area-inset-bottom) + 104px));width:112px;aspect-ratio:1;border:8px solid #6c5130;border-radius:50%;padding:0;background:repeating-conic-gradient(#a97536 0 12deg,#e5b85d 12deg 24deg);box-shadow:0 10px 23px rgba(0,0,0,.42),inset 0 0 0 5px #2d3037,inset 0 0 0 9px #c9d0d6;display:grid;place-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
.ggi-reel-button-v766:before{content:"";position:absolute;inset:18px;border:4px solid #353a42;border-radius:50%;background:linear-gradient(#4b5663,#161d27);box-shadow:inset 0 5px 10px rgba(255,255,255,.12),0 0 0 3px rgba(255,255,255,.22)}
.ggi-reel-button-v766 span{position:relative;z-index:2;color:#ffe457;font:1000 46px/1 system-ui;text-shadow:0 3px #8b5312,0 0 10px rgba(255,229,74,.5)}
.ggi-reel-button-v766 small{position:absolute;z-index:3;left:50%;top:-26px;translate:-50% 0;width:max-content;color:#fff7d9;font:1000 11px/1 system-ui;letter-spacing:.08em;text-shadow:0 2px 2px #1c2026,-1px 0 #1c2026,1px 0 #1c2026}
.ggi-reel-button-v766.bite-active{animation:ggi-reel-v766-pulse .34s ease-in-out infinite alternate;filter:drop-shadow(0 0 13px rgba(255,218,56,.74))}
.ggi-reel-button-v766.reeling{animation:ggi-reel-v766-reel .18s ease-in-out infinite alternate}
@keyframes ggi-reel-v766-pulse{to{scale:1.075;rotate:-3deg}}
@keyframes ggi-reel-v766-reel{to{scale:.96;rotate:4deg}}

/* Premium catch card using the approved detailed fantasy-fish visual. */
.ggi-fishing-catch-reveal-v727{background:rgba(3,12,23,.91)!important;backdrop-filter:blur(5px)}
.ggi-fishing-catch-card-v727{width:min(91vw,430px)!important;gap:7px!important;padding:16px 15px 14px!important;border:3px solid #b78929!important;border-radius:28px!important;background:radial-gradient(circle at 50% 27%,rgba(255,251,203,.95),rgba(245,207,102,.98) 48%,#d29c35 100%)!important;box-shadow:inset 0 0 0 4px #ffe8a3,inset 0 0 0 7px rgba(122,78,18,.34),0 22px 50px rgba(0,0,0,.58)!important;color:#24170b!important;overflow:hidden}
.ggi-fishing-catch-card-v727>small{font:1000 1.05rem/1 system-ui;letter-spacing:.06em;color:#57320e;text-shadow:0 1px #fff1b2}
.ggi-fishing-catch-card-v727:before{content:"✦  🐚  ✦";color:#fff3b5;font-size:.9rem;letter-spacing:.4em;filter:drop-shadow(0 2px 1px #9c651e)}
.ggi-catch-art-v727{width:min(76vw,330px)!important;height:min(72vw,312px)!important;overflow:visible!important;margin:-4px 0 0}
.ggi-fishing-catch-hero-v766{position:relative;width:100%;height:100%;display:grid;place-items:center;filter:drop-shadow(0 12px 10px rgba(92,55,22,.28))}
.ggi-fishing-catch-hero-v766 img{width:100%;height:100%;object-fit:contain;border-radius:22px;mix-blend-mode:multiply}
.ggi-fishing-catch-hero-v766.catch-tideMinnow img{filter:hue-rotate(-24deg) saturate(.95) brightness(1.05)}
.ggi-fishing-catch-hero-v766.catch-coralSnapper img{filter:saturate(1.05) contrast(1.02)}
.ggi-fishing-catch-hero-v766.catch-moonfin img{filter:hue-rotate(42deg) saturate(1.12) brightness(.96)}
.ggi-fishing-catch-hero-v766.catch-crownKoi img{filter:hue-rotate(104deg) saturate(1.22) brightness(1.03)}
.ggi-fishing-catch-hero-v766.catch-goldenAngler img{filter:sepia(.52) saturate(1.46) hue-rotate(345deg) brightness(1.04)}
.ggi-catch-copy-v727 h2{font:1000 1.48rem/1.05 system-ui!important;color:#2c1808!important;text-shadow:0 1px #ffeab0}
.ggi-catch-copy-v727 p{font:900 .83rem/1.2 system-ui!important;color:#3c2611!important}
.ggi-catch-continue-v727{min-height:52px!important;border:2px solid #9f7b39!important;border-radius:16px!important;background:linear-gradient(#fff,#e8edf1)!important;color:#20180f!important;font:1000 .98rem/1 system-ui!important;box-shadow:inset 0 2px white,0 6px 11px rgba(93,60,17,.26)}
.ggi-catch-reveal-v727.is-locked .ggi-catch-card-v727:after{color:#5b3c19!important}

/* Five-slot overwater housing pier. World coordinates are still owned by JS/navigation. */
.ggi-housing-pier-v766{position:absolute;left:var(--x);top:var(--y);z-index:var(--depth);width:650px;height:620px;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 13px 8px rgba(17,55,62,.3))}
.ggi-housing-pier-v766 :is(.trunk,.branch,.hub,.end-platform){position:absolute;border:4px solid #6a431f;background:repeating-linear-gradient(90deg,#b67a38 0 13px,#d99b4d 13px 25px,#8e5a2c 25px 29px);box-shadow:inset 0 0 0 2px rgba(255,218,133,.3),0 5px 0 #4e331d}
.ggi-housing-pier-v766 .trunk{left:287px;top:0;width:76px;height:620px;border-radius:8px;background:repeating-linear-gradient(0deg,#b67a38 0 16px,#d99b4d 16px 30px,#744721 30px 34px)}
.ggi-housing-pier-v766 .branch{left:80px;width:490px;height:64px;border-radius:10px}
.ggi-housing-pier-v766 .branch.b1{top:156px}.ggi-housing-pier-v766 .branch.b2{top:332px}
.ggi-housing-pier-v766 .hub{left:255px;width:140px;height:90px;border-radius:50%}.ggi-housing-pier-v766 .hub.h1{top:143px}.ggi-housing-pier-v766 .hub.h2{top:319px}
.ggi-housing-pier-v766 .end-platform{left:207px;top:494px;width:236px;height:126px;border-radius:18px 18px 36px 36px}
.ggi-housing-pier-v766 i.rope{position:absolute;width:6px;height:94px;border-radius:5px;background:#d1bd88;box-shadow:0 0 0 2px #674923;opacity:.95}.ggi-housing-pier-v766 .r1{left:274px;top:48px}.ggi-housing-pier-v766 .r2{right:274px;top:48px}.ggi-housing-pier-v766 .r3{left:274px;top:405px}.ggi-housing-pier-v766 .r4{right:274px;top:405px}
.ggi-housing-house-v766{position:absolute;left:var(--x);top:var(--y);z-index:var(--depth);width:232px;height:218px;padding:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;transform:translate(-50%,-100%)!important;appearance:none;-webkit-appearance:none;pointer-events:auto;touch-action:manipulation;overflow:visible}
.ggi-housing-house-v766:active,.ggi-housing-house-v766:focus{background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important}
.ggi-housing-house-v766 img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 5px rgba(14,47,48,.34));transform-origin:50% 92%;transition:filter .18s ease,scale .18s ease}
.ggi-housing-house-v766:active img{scale:.985;filter:drop-shadow(0 5px 4px rgba(14,47,48,.3)) brightness(.96)}
.ggi-house-slot-badge-v766{position:absolute;right:13px;bottom:9px;min-width:28px;height:28px;padding:0 7px;display:grid;place-items:center;border:2px solid #67451f;border-radius:999px;background:#f5d77f;color:#2d1e0e;font:1000 12px/1 system-ui;box-shadow:0 3px 6px rgba(0,0,0,.3)}

.ggi-house-modal-v766{position:fixed;z-index:14500;inset:0;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom));background:rgba(7,8,14,.78);backdrop-filter:blur(6px)}
.ggi-house-modal-v766>section{width:min(94vw,470px);max-height:92dvh;overflow:auto;padding:17px;border:2px solid #af823d;border-radius:24px;background:linear-gradient(155deg,#312237,#17121d 58%,#0f0c14);box-shadow:inset 0 1px rgba(255,231,174,.24),0 20px 50px rgba(0,0,0,.6);color:#fff;text-align:center}
.ggi-house-modal-v766 small{color:#e7c566;font-weight:1000;letter-spacing:.13em}.ggi-house-modal-v766 h2{margin:4px 0 5px;font-size:1.35rem}.ggi-house-modal-v766 p{margin:0 0 13px;color:#d8ccd9;font-weight:750}.ggi-house-main-v766{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ggi-house-main-v766 [data-house-enter]{grid-column:1/-1}
.ggi-house-modal-v766 button{min-height:48px;border:1px solid #8d754f;border-radius:13px;background:linear-gradient(#f5f6f7,#adb6c0);color:#17191e;font-weight:1000;touch-action:manipulation}.ggi-house-main-v766 [data-house-enter]{background:linear-gradient(#a6df78,#54963b)}.ggi-house-main-v766 [data-house-close]{background:linear-gradient(#f08368,#bd3a29);color:#fff}
.ggi-house-styles-v766 h3{margin:5px 0 10px}.ggi-house-theme-grid-v766{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.ggi-house-theme-grid-v766 button{min-height:132px;padding:6px;display:grid;grid-template-rows:1fr auto;gap:4px}.ggi-house-theme-grid-v766 button.selected{outline:3px solid #e9c75f;box-shadow:0 0 20px rgba(235,194,73,.38)}.ggi-house-theme-grid-v766 img{width:100%;height:92px;object-fit:contain}.ggi-house-theme-grid-v766 span{font-size:.68rem}

@media(max-width:560px){.ggi-reel-button-v766{width:96px;bottom:max(108px,calc(env(safe-area-inset-bottom) + 98px));border-width:7px}.ggi-reel-button-v766 span{font-size:40px}.ggi-reel-button-v766 small{top:-23px;font-size:9px}.ggi-housing-house-v766{width:214px;height:204px}.ggi-fishing-catch-card-v727{width:min(92vw,390px)!important}.ggi-catch-art-v727{width:min(74vw,285px)!important;height:min(68vw,275px)!important}}
@media(prefers-reduced-motion:reduce){.ggi-reel-button-v766,.ggi-housing-house-v766 img{animation:none!important;transition:none!important}}
.ggi-fishing-catch-loot-v766{position:relative;width:100%;height:100%;display:grid;place-items:center;border-radius:25px;background:radial-gradient(circle,#fff0b6,#dfac4d 65%,#bd7d2f);box-shadow:inset 0 0 32px rgba(255,255,255,.55)}
.ggi-fishing-catch-loot-v766>span{font-size:min(35vw,150px);filter:drop-shadow(0 10px 6px rgba(83,50,15,.28))}.ggi-fishing-catch-loot-v766>i{position:absolute;right:14%;top:14%;font-style:normal;color:#fff7c4;font-size:2rem;animation:ggi-bite-alert-v703 .6s ease-in-out infinite alternate}


/* ============================================================
   Grim & Goldie Studios — Gremlin Island v767 visual/game patch
   Animated transparent housing, Pet Salon, Fun Box trap system.
   ============================================================ */

/* --- Five separate over-water homes: transparent 4-frame idle sprites --- */
.ggi-housing-house-v766{
  width:232px!important;
  height:218px!important;
  overflow:visible!important;
  background:transparent!important;
  isolation:isolate;
}
.ggi-housing-house-v766>img{display:none!important}
.ggi-housing-house-sprite-v767{
  position:absolute;
  inset:0;
  display:block;
  pointer-events:none;
  background-image:var(--ggi-house-sprite);
  background-repeat:no-repeat;
  background-size:400% 100%;
  background-position:0% 50%;
  filter:drop-shadow(0 8px 5px rgba(14,47,48,.34));
  transform-origin:50% 92%;
  animation:ggiHouseIdleV767 4.4s steps(1,end) infinite;
  animation-delay:var(--ggi-house-delay,0s);
}
.ggi-housing-house-v766:active .ggi-housing-house-sprite-v767{
  transform:scale(.985);
  filter:drop-shadow(0 5px 4px rgba(14,47,48,.30)) brightness(.97);
}
@keyframes ggiHouseIdleV767{
  0%,23%{background-position:0% 50%}
  25%,48%{background-position:33.333333% 50%}
  50%,73%{background-position:66.666667% 50%}
  75%,100%{background-position:100% 50%}
}

/* --- Former Avatar Home is now a living Pet Salon landmark --- */
#ggIslandHomeV683.ggi-pet-salon-v767,
.ggi-avatar-home-v721.ggi-pet-salon-v767{
  width:320px!important;
  height:330px!important;
  background-image:url("island-pet-salon-v773.png")!important;
  background-repeat:no-repeat!important;
  background-size:400% 100%!important;
  --ggi-pet-frame:0%;
  background-position:var(--ggi-pet-frame) 50%!important;
  filter:drop-shadow(0 13px 8px rgba(24,47,47,.40))!important;
  animation:ggiPetSalonIdleV767 4.6s steps(1,end) infinite!important;
  transform-origin:50% 94%!important;
  overflow:visible!important;
}
#ggIslandHomeV683.ggi-pet-salon-v767:active{
  filter:drop-shadow(0 9px 6px rgba(24,47,47,.34)) brightness(.97)!important;
}
#ggIslandHomeV683.ggi-pet-salon-v767 .ggi-avatar-home-hit-v721{
  position:absolute!important;
  left:12%!important;
  right:10%!important;
  top:18%!important;
  bottom:5%!important;
  width:auto!important;
  height:auto!important;
  border-radius:28% 28% 18% 18%!important;
}
@keyframes ggiPetSalonIdleV767{
  0%,23%{--ggi-pet-frame:0%}
  25%,48%{--ggi-pet-frame:33.333333%}
  50%,73%{--ggi-pet-frame:66.666667%}
  75%,100%{--ggi-pet-frame:100%}
}
/* Pet Salon remains recognizable after burn state instead of swapping to the retired Avatar Home art. */
#ggIslandHomeV683.ggi-pet-salon-v767:is([data-burn-state="burned"],.burned-v721),
.ggi-avatar-home-v721.ggi-pet-salon-v767[data-burn-state="burned"]{
  background-image:url("island-pet-salon-v773.png")!important;
  background-size:400% 100%!important;
  filter:grayscale(.42) sepia(.22) brightness(.70) drop-shadow(0 10px 6px rgba(25,16,17,.48))!important;
}

/* --- Shipwreck Market Fun Box view --- */
.ggi-market-fun-v767 h3{margin-bottom:10px!important}
.ggi-market-fun-slot-v767{display:grid;gap:10px}
.ggi-market-fun-card-v767{
  display:grid;
  grid-template-columns:minmax(86px,122px) 1fr;
  align-items:center;
  gap:13px;
  padding:12px;
  border:1px solid rgba(169,104,222,.60);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(61,29,74,.96),rgba(32,17,41,.97));
  box-shadow:inset 0 1px rgba(255,255,255,.10),0 9px 24px rgba(0,0,0,.22);
  text-align:left;
}
.ggi-market-fun-trap-art-v767{
  width:100%;
  aspect-ratio:1;
  background:url("island-trap-v768-preview.png") 50% 50%/contain no-repeat;
  filter:drop-shadow(0 8px 7px rgba(0,0,0,.35));
}
.ggi-market-fun-copy-v767{min-width:0;display:grid;gap:5px}
.ggi-market-fun-copy-v767 small{color:#d6a9fa;font-weight:900;letter-spacing:.08em}
.ggi-market-fun-copy-v767 b{font-size:1.05rem}
.ggi-market-fun-copy-v767 p{margin:0;font-size:.67rem;line-height:1.35;color:#e7d9ec}
.ggi-market-fun-copy-v767 button{
  margin-top:3px;
  min-height:42px;
  border-radius:12px;
  border:1px solid rgba(245,200,110,.72);
  background:linear-gradient(180deg,#ef6542,#d8432a);
  color:#fff;
  font-weight:950;
}
.ggi-market-fun-copy-v767 button:disabled{opacity:.58;filter:grayscale(.45)}

/* --- Trap as an equippable Fun Box item --- */
.ggi-trap-tool-icon-v767,
.ggi-fun-action-trap-v767{
  display:block;
  width:42px;
  height:42px;
  margin:auto;
  background:url("island-trap-v768-preview.png") 50% 50%/contain no-repeat;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.30));
}
#ggFunActionV751.ggi-trap-place-mode-v767{
  width:70px;
  height:70px;
  border-radius:20px;
  border:2px solid rgba(110,65,29,.88);
  background:linear-gradient(180deg,#f4c06e,#c8782c);
  opacity:1;
}
#ggFunActionV751.ggi-trap-place-mode-v767::after{
  content:"PLACE";
  position:absolute;
  left:50%;
  top:100%;
  transform:translate(-50%,4px);
  font:900 9px/1 system-ui,sans-serif;
  color:#261509;
  letter-spacing:.06em;
  text-shadow:0 1px rgba(255,255,255,.55);
}
.ggi-placed-trap-v767{
  position:absolute;
  width:116px;
  height:116px;
  margin-left:-58px;
  margin-top:-58px;
  pointer-events:none;
  background-image:url("island-trap-v768.png");
  background-repeat:no-repeat;
  background-size:400% 100%;
  background-position:0% 50%;
  transform-origin:50% 78%;
  filter:drop-shadow(0 5px 4px rgba(48,25,10,.33));
  z-index:var(--depth,3100);
}
.ggi-placed-trap-v767.armed-v767{animation:ggiTrapArmedV767 1.9s ease-in-out infinite alternate}
.ggi-placed-trap-v767.triggered-v767{
  animation:ggiTrapDropV767 .72s steps(1,end) 1 both;
  z-index:5200!important;
}
.ggi-placed-trap-v767.rearming-v767{opacity:.72;filter:grayscale(.15) drop-shadow(0 4px 3px rgba(48,25,10,.28))}
@keyframes ggiTrapArmedV767{to{transform:translateY(-1px) scale(1.015);filter:drop-shadow(0 5px 4px rgba(48,25,10,.33)) brightness(1.06)}}
@keyframes ggiTrapDropV767{
  0%,18%{background-position:0% 50%;transform:translateY(0)}
  19%,42%{background-position:33.333333% 50%;transform:translateY(-4px)}
  43%,70%{background-position:66.666667% 50%;transform:translateY(-2px)}
  71%,100%{background-position:100% 50%;transform:translateY(0)}
}
.gg-island-avatar-v682.ggi-trapped-v767,
.ggi-remote-avatar-v706.ggi-trapped-v767{
  animation:ggiCaughtBounceV767 .5s ease-in-out 2!important;
}
@keyframes ggiCaughtBounceV767{50%{transform:translateY(-5px) scale(.97)}}

/* Keep all v767 sprite-sheet backgrounds transparent around the art. */
.ggi-housing-house-sprite-v767,
#ggIslandHomeV683.ggi-pet-salon-v767,
.ggi-placed-trap-v767{background-color:transparent!important}

/* Responsive tuning. */
@media(max-width:560px){
  .ggi-housing-house-v766{width:216px!important;height:202px!important}
  #ggIslandHomeV683.ggi-pet-salon-v767,.ggi-avatar-home-v721.ggi-pet-salon-v767{
    width:292px!important;height:302px!important
  }
  .ggi-market-fun-card-v767{grid-template-columns:92px 1fr;padding:10px}
  .ggi-placed-trap-v767{width:102px;height:102px;margin-left:-51px;margin-top:-51px}
}
@media(prefers-reduced-motion:reduce){
  .ggi-housing-house-sprite-v767,
  #ggIslandHomeV683.ggi-pet-salon-v767,
  .ggi-placed-trap-v767{animation:none!important}
}


/* v767 live market markup compatibility */
.ggi-market-fun-v767>.ggi-market-fun-copy-v767{margin:0 0 10px;color:#e7d9ec;font-size:.68rem}
.ggi-market-fun-item-v767{
  display:grid;
  grid-template-columns:96px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:11px;
  border:1px solid rgba(169,104,222,.60);
  border-radius:17px;
  background:linear-gradient(145deg,rgba(61,29,74,.96),rgba(32,17,41,.97));
}
.ggi-market-fun-item-v767>.ggi-market-fun-trap-art-v767{width:96px;aspect-ratio:1}
.ggi-market-fun-item-v767>div{display:grid;gap:3px;text-align:left}
.ggi-market-fun-item-v767>div b{font-size:.92rem}
.ggi-market-fun-item-v767>div small{color:#d6a9fa;font-weight:900}
.ggi-market-fun-item-v767>div p{margin:0;color:#e7d9ec;font-size:.60rem;line-height:1.3}
.ggi-market-fun-item-v767>button{
  min-width:82px;min-height:42px;border-radius:12px;border:1px solid rgba(245,200,110,.72);
  background:linear-gradient(180deg,#ef6542,#d8432a);color:#fff;font-weight:950
}
.ggi-market-fun-item-v767>button:disabled{opacity:.58;filter:grayscale(.4)}
#ggFunActionV751[data-fun-type="trap"]{
  width:70px;height:70px;border-radius:20px;border:2px solid rgba(110,65,29,.88);
  background:linear-gradient(180deg,#f4c06e,#c8782c);opacity:1;display:grid;place-items:center;padding:4px
}
#ggFunActionV751[data-fun-type="trap"] small{
  position:absolute;left:50%;bottom:3px;translate:-50% 0;font:900 8px/1 system-ui,sans-serif;color:#2b180a;letter-spacing:.04em
}
#ggFunActionV751[data-fun-type="trap"] .ggi-fun-action-trap-v767{width:44px;height:44px;margin-top:-7px}
@media(max-width:560px){
  .ggi-market-fun-item-v767{grid-template-columns:82px 1fr}
  .ggi-market-fun-item-v767>.ggi-market-fun-trap-art-v767{width:82px}
  .ggi-market-fun-item-v767>button{grid-column:1/-1;width:100%}
}


/* ============================================================
   Gremlin Island v768 — hard fix for invisible pier homes.
   Uses real IMG sprite strips instead of CSS custom-property URLs.
   A theme-specific transparent preview is always underneath as fallback.
   ============================================================ */
.ggi-housing-house-v768{
  width:244px!important;
  height:228px!important;
  overflow:visible!important;
  background:transparent!important;
}
.ggi-housing-house-frame-v768{
  position:absolute;
  inset:0;
  overflow:hidden;
  display:block;
  pointer-events:none;
  background-color:transparent!important;
  background-repeat:no-repeat;
  background-position:50% 100%;
  background-size:contain;
  filter:drop-shadow(0 9px 6px rgba(14,47,48,.36));
  border-radius:0;
}
.ggi-housing-house-v768[data-house-theme="tiki"] .ggi-housing-house-frame-v768{background-image:url("island-house-tiki-v808-preview.png")}
.ggi-housing-house-v768[data-house-theme="moss"] .ggi-housing-house-frame-v768{background-image:url("island-house-moss-v770-preview.png")}
.ggi-housing-house-v768[data-house-theme="gothic"] .ggi-housing-house-frame-v768{background-image:url("island-house-gothic-v770-preview.png")}
.ggi-housing-house-v768[data-house-theme="shipwreck"] .ggi-housing-house-frame-v768{background-image:url("island-house-shipwreck-v770-preview.png")}
.ggi-housing-house-v768[data-house-theme="coral"] .ggi-housing-house-frame-v768{background-image:url("island-house-coral-v770-preview.png")}
.ggi-housing-house-v768 .ggi-housing-house-strip-v768{
  position:absolute!important;
  left:0!important;
  top:0!important;
  width:400%!important;
  max-width:none!important;
  height:100%!important;
  display:block!important;
  object-fit:fill!important;
  object-position:left center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:1!important;
  transform:translate3d(0,0,0);
  transform-origin:left center!important;
  scale:1!important;
  filter:none!important;
  transition:none!important;
  will-change:transform;
  animation:ggiHouseStripV768 4.4s steps(1,end) infinite!important;
  animation-delay:var(--ggi-house-delay,0s)!important;
  user-select:none;
  -webkit-user-drag:none;
}
.ggi-housing-house-v768:active .ggi-housing-house-frame-v768{transform:scale(.985);filter:drop-shadow(0 6px 4px rgba(14,47,48,.30)) brightness(.97)}
@keyframes ggiHouseStripV768{
  0%,23%{transform:translate3d(0,0,0)}
  25%,48%{transform:translate3d(-25%,0,0)}
  50%,73%{transform:translate3d(-50%,0,0)}
  75%,100%{transform:translate3d(-75%,0,0)}
}
/* Keep slot number above the art and outside the clipped frame. */
.ggi-housing-house-v768 .ggi-house-slot-badge-v766{z-index:9!important}
@media(max-width:560px){
  .ggi-housing-house-v768{width:228px!important;height:214px!important}
}
@media(prefers-reduced-motion:reduce){
  .ggi-housing-house-v768 .ggi-housing-house-strip-v768{animation:none!important;transform:translate3d(0,0,0)!important}
}


/* ============================================================
   Gremlin Island v769 — pier-home refinement
   - House art has no built-in side walkway; the world pier remains.
   - Houses are larger.
   - The house body never shakes. Only small props idle-animate.
   ============================================================ */
.ggi-housing-house-v769{
  width:304px!important;
  height:286px!important;
  overflow:visible!important;
  background:transparent!important;
}
.ggi-housing-house-frame-v769{
  position:absolute;
  inset:0;
  display:block;
  overflow:visible;
  pointer-events:none;
  background:transparent!important;
  filter:drop-shadow(0 10px 7px rgba(12,42,46,.36));
}
.ggi-housing-house-art-v769{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  display:block!important;
  object-fit:contain!important;
  object-position:50% 100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:1!important;
  transform:none!important;
  scale:1!important;
  animation:none!important;
  transition:filter .16s ease!important;
  filter:none!important;
  user-select:none;
  -webkit-user-drag:none;
}
.ggi-housing-house-v769:active .ggi-housing-house-frame-v769,
.ggi-housing-house-v769:focus .ggi-housing-house-frame-v769{
  transform:none!important;
}
.ggi-housing-house-v769:active .ggi-housing-house-art-v769{
  transform:none!important;
  scale:1!important;
  filter:brightness(.965)!important;
}

/* Slot badge stays readable but does not cover the larger house art. */
.ggi-housing-house-v769 .ggi-house-slot-badge-v766{
  right:4px!important;
  bottom:6px!important;
  z-index:12!important;
}

/* Small prop layer. Nothing here moves the full house. */
.ggi-house-props-v769{
  position:absolute;
  inset:0;
  display:block;
  pointer-events:none;
  overflow:visible;
  --delay:var(--ggi-house-delay,0s);
}
.ggi-house-props-v769>i{
  position:absolute;
  display:block;
  pointer-events:none;
  transform-origin:50% 50%;
}

/* TIKI: lantern breath + tiki eyes blink + palm shimmer. */
.ggi-house-props-v769[data-theme="tiki"] .prop-a{
  left:8.2%; top:43.5%; width:13%; aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,237,143,.92) 0 18%,rgba(255,163,42,.42) 33%,rgba(255,134,16,.10) 62%,transparent 74%);
  mix-blend-mode:screen;
  animation:ggiHouseGlowV769 2.2s ease-in-out infinite alternate;
  animation-delay:var(--delay);
}
.ggi-house-props-v769[data-theme="tiki"] .prop-b{
  left:42%; top:54.5%; width:18%; height:7%;
  border-radius:50%;
  box-shadow:inset 0 -4px rgba(22,29,26,.70);
  opacity:0;
  animation:ggiHouseBlinkV769 6.4s steps(1,end) infinite;
  animation-delay:calc(var(--delay) - 1.4s);
}
.ggi-house-props-v769[data-theme="tiki"] .prop-c{
  right:13%; top:18%; width:18%; height:18%;
  border-radius:50%;
  background:radial-gradient(ellipse at 55% 55%,rgba(152,255,92,.18),transparent 68%);
  animation:ggiHouseLeafBreathV769 3.8s ease-in-out infinite alternate;
  animation-delay:calc(var(--delay) - .7s);
}

/* MOSS: flag sway + lantern pulse + mushroom bob. */
.ggi-house-props-v769[data-theme="moss"] .prop-a{
  right:14.5%; top:9.5%; width:18%; height:8%;
  background:linear-gradient(115deg,rgba(30,46,22,.96),rgba(19,27,14,.96));
  clip-path:polygon(0 0,100% 12%,78% 48%,100% 86%,0 72%);
  transform-origin:0 50%;
  opacity:.84;
  animation:ggiHouseFlagV769 2.8s ease-in-out infinite alternate;
  animation-delay:var(--delay);
}
.ggi-house-props-v769[data-theme="moss"] .prop-b{
  left:7%; top:43%; width:13%; aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,235,151,.88) 0 18%,rgba(255,172,48,.32) 40%,transparent 72%);
  mix-blend-mode:screen;
  animation:ggiHouseGlowV769 2.4s ease-in-out infinite alternate;
  animation-delay:calc(var(--delay) - .6s);
}
.ggi-house-props-v769[data-theme="moss"] .prop-c{
  right:31%; top:36%; width:6%; height:6%;
  border-radius:60% 60% 42% 42%;
  background:radial-gradient(circle at 50% 38%,#ffefe8 0 30%,#f24132 34% 58%,transparent 60%);
  animation:ggiHouseBobV769 2.6s ease-in-out infinite alternate;
  animation-delay:calc(var(--delay) - 1.1s);
}

/* GOTHIC: purple flame flicker + skull eyes blink + lantern aura. */
.ggi-house-props-v769[data-theme="gothic"] .prop-a{
  right:8%; top:57%; width:15%; aspect-ratio:1;
  border-radius:48% 52% 50% 50%;
  background:radial-gradient(circle at 50% 58%,rgba(255,111,255,.78),rgba(124,40,236,.54) 34%,rgba(94,19,186,.12) 63%,transparent 72%);
  filter:blur(.2px);
  mix-blend-mode:screen;
  animation:ggiHouseFlameV769 1.15s ease-in-out infinite alternate;
  animation-delay:var(--delay);
}
.ggi-house-props-v769[data-theme="gothic"] .prop-b{
  left:43.5%; top:27%; width:13%; height:6%;
  border-radius:50%;
  box-shadow:-11px 1px 7px rgba(216,65,255,.92),11px 1px 7px rgba(216,65,255,.92);
  opacity:.95;
  animation:ggiHouseSkullEyesV769 5.9s steps(1,end) infinite;
  animation-delay:calc(var(--delay) - 1.8s);
}
.ggi-house-props-v769[data-theme="gothic"] .prop-c{
  left:6%; top:44%; width:15%; height:20%;
  border-radius:50%;
  box-shadow:0 0 16px rgba(177,76,255,.38);
  opacity:.65;
  animation:ggiHouseGlowV769 2.1s ease-in-out infinite alternate;
  animation-delay:calc(var(--delay) - .4s);
}

/* SHIPWRECK: flag flutter + bobber bob + warm lantern. */
.ggi-house-props-v769[data-theme="shipwreck"] .prop-a{
  left:11%; top:8%; width:25%; height:10%;
  background:linear-gradient(90deg,#b92522,#e23c2f);
  clip-path:polygon(0 0,100% 10%,79% 50%,100% 91%,0 72%);
  transform-origin:0 45%;
  opacity:.78;
  animation:ggiHouseFlagV769 2.35s ease-in-out infinite alternate;
  animation-delay:var(--delay);
}
.ggi-house-props-v769[data-theme="shipwreck"] .prop-b{
  right:7%; top:36%; width:7.5%; aspect-ratio:1;
  border-radius:50%;
  background:linear-gradient(#ef443c 0 47%,#fff 48% 62%,#dd3930 63%);
  box-shadow:0 2px 5px rgba(0,0,0,.22);
  animation:ggiHouseBobV769 1.9s ease-in-out infinite alternate;
  animation-delay:calc(var(--delay) - .9s);
}
.ggi-house-props-v769[data-theme="shipwreck"] .prop-c{
  left:8%; top:41%; width:12%; aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,236,151,.86),rgba(255,155,35,.28) 42%,transparent 72%);
  mix-blend-mode:screen;
  animation:ggiHouseGlowV769 2.2s ease-in-out infinite alternate;
  animation-delay:calc(var(--delay) - .2s);
}

/* CORAL: bubbles rise + pearl sparkle + hanging gem sway. */
.ggi-house-props-v769[data-theme="coral"] .prop-a{
  right:7%; top:22%; width:9px; height:9px;
  border:2px solid rgba(211,244,255,.82);
  border-radius:50%;
  box-shadow:-18px 20px 0 -1px rgba(214,244,255,.60),10px 36px 0 -2px rgba(214,244,255,.52);
  opacity:0;
  animation:ggiHouseBubblesV769 3.7s ease-out infinite;
  animation-delay:var(--delay);
}
.ggi-house-props-v769[data-theme="coral"] .prop-b{
  left:23%; top:55%; width:14%; aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.94) 0 7%,rgba(212,245,255,.45) 17%,transparent 59%);
  mix-blend-mode:screen;
  animation:ggiHousePearlV769 2.6s ease-in-out infinite;
  animation-delay:calc(var(--delay) - .8s);
}
.ggi-house-props-v769[data-theme="coral"] .prop-c{
  right:19%; top:45%; width:7%; height:11%;
  border-radius:50%;
  background:radial-gradient(circle at 50% 30%,rgba(255,229,250,.92),rgba(110,211,255,.44) 48%,transparent 68%);
  transform-origin:50% 0;
  animation:ggiHousePendantV769 2.7s ease-in-out infinite alternate;
  animation-delay:calc(var(--delay) - 1.3s);
}

@keyframes ggiHouseGlowV769{
  from{opacity:.50;filter:brightness(.92)}
  to{opacity:1;filter:brightness(1.26)}
}
@keyframes ggiHouseBlinkV769{
  0%,91%,95%,100%{opacity:0;transform:scaleY(.15)}
  92%,94%{opacity:.92;transform:scaleY(1)}
}
@keyframes ggiHouseLeafBreathV769{
  from{transform:rotate(-1.2deg) scale(.98);opacity:.35}
  to{transform:rotate(1.2deg) scale(1.03);opacity:.62}
}
@keyframes ggiHouseFlagV769{
  from{transform:rotate(-2.4deg) skewY(-2deg)}
  to{transform:rotate(2.8deg) skewY(3deg)}
}
@keyframes ggiHouseBobV769{
  from{transform:translateY(-2px) rotate(-2deg)}
  to{transform:translateY(4px) rotate(2deg)}
}
@keyframes ggiHouseFlameV769{
  from{transform:translateY(1px) scale(.90,.96);opacity:.64}
  to{transform:translateY(-3px) scale(1.08,1.13);opacity:1}
}
@keyframes ggiHouseSkullEyesV769{
  0%,88%,93%,100%{opacity:.95;transform:scaleY(1)}
  89%,92%{opacity:.10;transform:scaleY(.12)}
}
@keyframes ggiHouseBubblesV769{
  0%{transform:translateY(14px) scale(.65);opacity:0}
  18%{opacity:.72}
  80%{opacity:.62}
  100%{transform:translateY(-35px) scale(1.08);opacity:0}
}
@keyframes ggiHousePearlV769{
  0%,100%{opacity:.36;transform:scale(.92)}
  52%{opacity:1;transform:scale(1.13)}
}
@keyframes ggiHousePendantV769{
  from{transform:rotate(-4deg)}
  to{transform:rotate(4deg)}
}

/* The old full-frame v768 animation must never run on v769 houses. */
.ggi-housing-house-v769 .ggi-housing-house-strip-v768,
.ggi-housing-house-v769 .ggi-housing-house-sprite-v767{
  display:none!important;
  animation:none!important;
}

@media(max-width:560px){
  .ggi-housing-house-v769{
    width:282px!important;
    height:266px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .ggi-house-props-v769>i{animation:none!important}
}

/* ============================================================
   Gremlin Island v770 — cleaned pier homes + sea life + shadows
   ============================================================ */

/* Clean house art now contains only the building. The world pier/platform is authoritative. */
.ggi-housing-house-v770{
  width:356px!important;
  height:330px!important;
  overflow:visible!important;
  background:transparent!important;
}
.ggi-housing-house-v770 .ggi-housing-house-frame-v769{
  inset:0!important;
  transform:none!important;
  animation:none!important;
  background:transparent!important;
  filter:drop-shadow(0 11px 7px rgba(12,42,46,.34));
}
.ggi-housing-house-v770 .ggi-housing-house-art-v769{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:50% 100%!important;
  transform:none!important;
  translate:none!important;
  rotate:0deg!important;
  scale:1!important;
  animation:none!important;
  background:transparent!important;
}
.ggi-housing-house-v770:active .ggi-housing-house-frame-v769,
.ggi-housing-house-v770:focus .ggi-housing-house-frame-v769,
.ggi-housing-house-v770:active .ggi-housing-house-art-v769{
  transform:none!important;
  translate:none!important;
  rotate:0deg!important;
  scale:1!important;
}
/* Only prop overlays idle animate; the structural house never moves. */
.ggi-housing-house-v770 .ggi-house-props-v769{animation:none!important;transform:none!important}
.ggi-housing-house-v770 .ggi-house-slot-badge-v766{right:18px!important;bottom:3px!important}

/* Anchor-tailed shark: 4 actual swim drawings; no procedural squash/wobble. */
.ggi-feature-sea-v770.shark{
  width:214px!important;
  height:118px!important;
  opacity:.84!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.ggi-feature-sea-v770.shark .ggi-feature-sea-motion-v770{
  position:absolute;
  inset:0;
  display:block;
  transform-origin:50% 50%;
  transform:scaleX(var(--ggi-shark-dir-v770,1)) rotate(var(--ggi-shark-angle-v770,0deg));
}
.ggi-feature-shark-sprite-v770{
  position:absolute;
  inset:0;
  display:block;
  background:url("island-anchor-shark-v770.png") 0 50%/400% 100% no-repeat;
  filter:drop-shadow(0 9px 6px rgba(4,37,51,.20));
  animation:ggiAnchorSharkFramesV770 1.15s steps(1,end) infinite;
}
@keyframes ggiAnchorSharkFramesV770{
  0%,23%{background-position:0% 50%}
  25%,48%{background-position:33.333333% 50%}
  50%,73%{background-position:66.666667% 50%}
  75%,100%{background-position:100% 50%}
}

/* Polished pink waterfall squid: sprite-frame life only, no large glow bubble. */
.ggi-waterfall-pet-v770{
  width:124px!important;
  height:118px!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.ggi-waterfall-pet-v770::before,.ggi-waterfall-pet-v770::after{content:none!important;display:none!important}
.ggi-waterfall-pet-v770 .ggi-waterfall-pet-bubbles-v761,
.ggi-waterfall-pet-v770 .ggi-waterfall-pet-body-v761,
.ggi-waterfall-pet-v770 .ggi-waterfall-pet-body-v762,
.ggi-waterfall-pet-v770 .ggi-waterfall-pet-shell-v761,
.ggi-waterfall-pet-v770 .ggi-waterfall-squid-sprite-v765{display:none!important}
.ggi-waterfall-squid-sprite-v770{
  position:absolute;
  inset:0;
  display:block;
  background:url("island-pink-squid-v770.png") 0 50%/400% 100% no-repeat;
  filter:drop-shadow(0 8px 5px rgba(75,31,76,.22));
  animation:ggiPinkSquidFramesV770 1.28s steps(1,end) infinite;
}
@keyframes ggiPinkSquidFramesV770{
  0%,27%{background-position:0% 50%}
  29%,52%{background-position:33.333333% 50%}
  54%,78%{background-position:66.666667% 50%}
  80%,100%{background-position:100% 50%}
}
.ggi-waterfall-pet-v770.caught-v761 .ggi-waterfall-squid-sprite-v770{animation-duration:.22s}

/* Updated butterfly sprite plus one pooled terrain-aware ground shadow per butterfly. */
.ggi-butterfly-sprite-v770{
  background-image:url("island-butterfly-v770.png")!important;
  background-size:400% 100%!important;
  background-repeat:no-repeat!important;
}
.ggi-butterfly-shadow-v770{
  position:absolute;
  width:42px;
  height:14px;
  border-radius:50%;
  pointer-events:none;
  transform-origin:50% 50%;
  opacity:var(--ggi-bfly-shadow-opacity,.24);
  filter:blur(var(--ggi-bfly-shadow-blur,4px));
  background:rgba(47,53,39,.34);
}
.ggi-butterfly-shadow-v770[data-surface="grass"]{background:rgba(35,67,31,.40)}
.ggi-butterfly-shadow-v770[data-surface="sand"]{background:rgba(91,67,41,.32)}
.ggi-butterfly-shadow-v770[data-surface="pier"]{background:rgba(38,31,24,.38);height:12px}
.ggi-butterfly-shadow-v770[data-surface="shallow"]{background:rgba(48,91,105,.18);opacity:.11!important}
.ggi-butterfly-shadow-v770[data-surface="deep"]{display:none!important}

@media(max-width:560px){
  .ggi-housing-house-v770{width:326px!important;height:302px!important}
  .ggi-feature-sea-v770.shark{width:238px!important;height:119px!important}
  .ggi-waterfall-pet-v770{width:112px!important;height:120px!important}
}
@media(prefers-reduced-motion:reduce){
  .ggi-feature-shark-sprite-v770,.ggi-waterfall-squid-sprite-v770{animation:none!important}
}
.ggi-butterfly-shadow-host-v770{position:absolute;inset:0;pointer-events:none;overflow:visible}
.ggi-butterfly-v707 .ggi-butterfly-sprite-v770{animation:none!important}


/* ============================================================
   Grim & Goldie Studios — Gremlin Island v771
   Profile-owned houses, stable Pet Salon, smooth shark,
   rain puddles, back-avatar fidelity, and chicken height shadows.
   ============================================================ */

/* --- Avatar back view: preserve the exact current body/outfit. --- */
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 #ggiIslandBackWardrobeV687{
  display:none!important;
  visibility:hidden!important;
}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 :is(#bodyLayer,#pantsLayer,#shirtLayer,#wardrobeExtraLayer){
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 :is(#bodyLayer,#pantsLayer,#shirtLayer,#wardrobeExtraLayer) *{
  visibility:visible!important;
}
/* Front facial features remain hidden while the real selected clothing/body remains unchanged. */
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 #capeFrontLayerV141{
  display:none!important;
}

/* --- Pet Salon: building is fixed. Only tiny props idle animate. --- */
#ggIslandHomeV683.ggi-pet-salon-v767,
.ggi-avatar-home-v721.ggi-pet-salon-v767{
  width:328px!important;
  height:328px!important;
  background-image:url("island-pet-salon-v773.png")!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:50% 100%!important;
  animation:none!important;
  transform:none!important;
  translate:none!important;
  rotate:0deg!important;
  scale:1!important;
  filter:drop-shadow(0 12px 8px rgba(24,47,47,.35))!important;
  overflow:visible!important;
}
#ggIslandHomeV683.ggi-pet-salon-v767:is([data-burn-state="burned"],.burned-v721),
.ggi-avatar-home-v721.ggi-pet-salon-v767[data-burn-state="burned"]{
  background-image:url("island-pet-salon-v773.png")!important;
  background-size:contain!important;
  background-position:50% 100%!important;
  animation:none!important;
}
#ggIslandHomeV683.ggi-pet-salon-v767:active{
  transform:none!important;
  translate:none!important;
  scale:1!important;
}
#ggIslandHomeV683.ggi-pet-salon-v767 .ggi-avatar-home-hit-v721{
  left:13%!important;
  right:12%!important;
  top:13%!important;
  bottom:9%!important;
}
.ggi-pet-salon-props-v771{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:4;
  overflow:visible;
}
.ggi-pet-salon-props-v771>i{position:absolute;display:block;pointer-events:none}
.ggi-pet-salon-props-v771 .salon-lantern{
  left:16.5%;top:54%;width:22px;height:30px;border-radius:50%;
  background:radial-gradient(circle,#fff6bd 0 12%,rgba(255,192,62,.70) 24%,rgba(255,152,32,.18) 52%,transparent 70%);
  transform-origin:50% -18px;
  animation:ggiPetSalonLanternV771 2.8s ease-in-out infinite alternate;
}
.ggi-pet-salon-props-v771 .salon-bubbles{
  right:17%;bottom:21%;width:11px;height:11px;border:2px solid rgba(210,249,255,.78);border-radius:50%;
  box-shadow:16px -6px 0 -3px rgba(220,250,255,.55),-8px -12px 0 -4px rgba(220,250,255,.45);
  opacity:0;
  animation:ggiPetSalonBubbleV771 4.2s ease-out infinite;
}
.ggi-pet-salon-props-v771 .salon-bubbles.b2{right:12%;bottom:18%;scale:.72;animation-delay:-2.15s}
.ggi-pet-salon-props-v771 .salon-sparkle{
  right:23%;top:45%;width:7px;height:7px;rotate:45deg;background:#fff8c4;
  box-shadow:0 0 8px #ffe66d;animation:ggiPetSalonSparkleV771 3.6s steps(1,end) infinite;
}
@keyframes ggiPetSalonLanternV771{from{rotate:-3deg;opacity:.78}to{rotate:3deg;opacity:1}}
@keyframes ggiPetSalonBubbleV771{0%{opacity:0;translate:0 0}15%{opacity:.75}82%{opacity:.24}100%{opacity:0;translate:-5px -56px}}
@keyframes ggiPetSalonSparkleV771{0%,74%,100%{opacity:0;scale:.4}78%,84%{opacity:1;scale:1.35}90%{opacity:.35;scale:.8}}

/* --- v771 houses: structural image is motionless; every server starts Tiki until each player profile says otherwise. --- */
.ggi-housing-house-v771,
.ggi-housing-house-v771 .ggi-housing-house-frame-v769,
.ggi-housing-house-v771 .ggi-housing-house-art-v769{
  animation:none!important;
  transform:none!important;
  translate:none!important;
  rotate:0deg!important;
}
.ggi-housing-house-v771 .ggi-house-props-v769{pointer-events:none}

/* --- Smooth clipped anchor shark. No sprite-repeat bleed. --- */
.ggi-feature-sea-v771.shark{
  width:214px!important;
  height:118px!important;
  overflow:hidden!important;
  opacity:.76!important;
  filter:drop-shadow(0 8px 6px rgba(4,37,51,.18))!important;
}
.ggi-feature-sea-v771.shark .ggi-feature-sea-motion-v771{
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
  transform-origin:50% 50%;
  transform:scaleX(var(--ggi-shark-dir-v771,1)) rotate(var(--ggi-shark-angle-v771,0deg));
  will-change:transform;
}
.ggi-feature-shark-clip-v771{
  position:absolute;
  inset:0;
  display:block;
  overflow:hidden;
}
.ggi-feature-shark-strip-v771{
  position:absolute;
  left:0;top:0;
  width:400%!important;
  max-width:none!important;
  height:100%!important;
  object-fit:fill!important;
  display:block!important;
  pointer-events:none;
  animation:ggiAnchorSharkStripV771 .82s steps(1,end) infinite;
  will-change:transform;
}
@keyframes ggiAnchorSharkStripV771{
  0%,19%{transform:translate3d(0,0,0)}
  20%,39%{transform:translate3d(-25%,0,0)}
  40%,59%{transform:translate3d(-50%,0,0)}
  60%,79%{transform:translate3d(-75%,0,0)}
  80%,89%{transform:translate3d(-50%,0,0)}
  90%,100%{transform:translate3d(-25%,0,0)}
}
.ggi-feature-sea-v770.shark:not(.ggi-feature-sea-v771){display:none!important}

/* --- Rain puddles persist after rain and evaporate after daylight returns. --- */
.ggi-puddle-host-v771{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:510;
  overflow:visible;
}
.ggi-rain-puddle-v771{
  position:absolute;
  width:76px;
  height:28px;
  border-radius:50%;
  opacity:.72;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 42% 35%,rgba(255,255,255,.35) 0 4%,transparent 6%),
    radial-gradient(ellipse at center,rgba(82,145,166,.34) 0 45%,rgba(55,111,137,.21) 58%,rgba(25,70,92,.10) 68%,transparent 73%);
  box-shadow:inset 0 1px rgba(226,252,255,.38);
  transform-origin:50% 50%;
  animation:ggiPuddleRainV771 2.2s ease-in-out var(--ggi-puddle-delay,0s) infinite;
  transition:opacity 8s ease,filter 8s ease,scale 8s ease;
}
.ggi-rain-puddle-v771[data-surface="grass"]{filter:hue-rotate(7deg) saturate(.8)}
.ggi-rain-puddle-v771[data-surface="sand"]{filter:sepia(.12) saturate(.7)}
.ggi-rain-puddle-v771::after{
  content:"";
  position:absolute;left:27%;top:31%;width:24px;height:8px;border:1px solid rgba(210,246,255,.38);
  border-radius:50%;opacity:.58;animation:ggiPuddleRingV771 1.8s ease-out var(--ggi-puddle-delay,0s) infinite;
}
.ggi-rain-puddle-v771.fading-v771{
  opacity:0!important;
  filter:brightness(1.35) saturate(.4)!important;
}
@keyframes ggiPuddleRainV771{50%{opacity:.86}}
@keyframes ggiPuddleRingV771{from{scale:.25;opacity:.65}to{scale:1.65;opacity:0}}

/* --- Chickens cast a world-ground shadow independent of their airborne body. --- */
.ggi-chicken-v699{filter:none!important}
.ggi-chicken-shadow-v771{
  position:absolute;
  left:20px;
  top:68px;
  width:44px;
  height:13px;
  border-radius:50%;
  z-index:0;
  pointer-events:none;
  opacity:var(--ggi-chicken-shadow-opacity,.34);
  background:rgba(45,39,28,.42);
  filter:blur(var(--ggi-chicken-shadow-blur,2.8px));
  transform:translate3d(0,var(--ggi-chicken-shadow-lift,0px),0) scale(var(--ggi-chicken-shadow-scale,1));
  transform-origin:50% 50%;
}
.ggi-chicken-v699 .chicken-motion{position:relative;z-index:1}
.ggi-chicken-v699.thrown .chicken-motion{
  transform:rotate(var(--ggi-chicken-throw-rot,0deg))!important;
  transform-origin:50% 60%!important;
}
.ggi-chicken-v699.carried .ggi-chicken-shadow-v771,
.ggi-chicken-v699.burning-v716 .ggi-chicken-shadow-v771{display:none!important}

@media(max-width:560px){
  #ggIslandHomeV683.ggi-pet-salon-v767,.ggi-avatar-home-v721.ggi-pet-salon-v767{width:306px!important;height:306px!important}
  .ggi-feature-sea-v771.shark{width:244px!important;height:122px!important}
}
@media(prefers-reduced-motion:reduce){
  .ggi-pet-salon-props-v771>i,
  .ggi-feature-shark-strip-v771,
  .ggi-rain-puddle-v771,
  .ggi-rain-puddle-v771::after{animation:none!important}
}


/* ============================================================
   Gremlin Island v772 — permanent five-home village + house lock
   ============================================================ */
.ggi-housing-house-v771{
  display:block!important;
  visibility:visible!important;
}
.ggi-house-lock-badge-v772{
  position:absolute;
  z-index:12;
  left:14px;
  bottom:8px;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:2px solid #68481f;
  border-radius:50%;
  background:linear-gradient(180deg,#ffe494,#eab74f);
  box-shadow:0 4px 7px rgba(0,0,0,.32);
  font-size:15px;
  line-height:1;
  pointer-events:none;
}
.ggi-house-lock-badge-v772[hidden]{display:none!important}
.ggi-housing-house-v771[data-house-locked="true"] .ggi-housing-house-frame-v769{
  filter:drop-shadow(0 0 8px rgba(230,181,72,.36));
}
.ggi-house-main-v766 [data-house-lock-toggle],
.ggi-island-menu-modal-v772 [data-island-menu-house-lock]{
  background:linear-gradient(180deg,#5b4c74,#352942)!important;
  color:#fff!important;
  border-color:#cdb67a!important;
}
.ggi-house-modal-v766[data-locked="true"] [data-house-lock-toggle],
.ggi-island-menu-modal-v772 [data-island-menu-house-lock][data-locked="true"]{
  background:linear-gradient(180deg,#7b503d,#4e2c28)!important;
}
.ggi-house-modal-v766 [data-house-enter]:disabled{
  opacity:.62!important;
  filter:grayscale(.28);
  cursor:not-allowed;
}
.ggi-island-menu-modal-v772>section{width:min(92vw,420px)!important}
.ggi-island-menu-modal-v772 p{margin:8px 0 15px;line-height:1.45}
.ggi-island-menu-modal-v772 p b{display:block;margin-top:5px;color:#f1d27d;font-size:.86rem}

/* ============================================================
   Grim & Goldie Studios — Gremlin Island v773
   Stable pier homes, house-only Pet Salon, housing stingray,
   and housing-deck sea life.
   ============================================================ */

/* Restore the correct bottom-center world anchor for pier houses.
   The structural art stays perfectly still; only prop overlays animate. */
.ggi-housing-house-v773{
  width:296px!important;
  height:276px!important;
  transform:translate(-50%,-100%)!important;
  translate:none!important;
  rotate:0deg!important;
  scale:1!important;
  animation:none!important;
  overflow:visible!important;
}
.ggi-housing-house-v773 .ggi-housing-house-frame-v769,
.ggi-housing-house-v773 .ggi-housing-house-art-v769{
  transform:none!important;
  translate:none!important;
  rotate:0deg!important;
  scale:1!important;
  animation:none!important;
}
.ggi-housing-house-v773 .ggi-housing-house-frame-v769{inset:0!important}
.ggi-housing-house-v773 .ggi-housing-house-art-v769{
  object-fit:contain!important;
  object-position:50% 100%!important;
}
.ggi-housing-house-v773 .ggi-house-slot-badge-v766{right:10px!important;bottom:0!important}

/* Pet Salon is now only the building artwork. It sits on land normally;
   no built-in deck, poles, water strip, or whole-building idle motion. */
#ggIslandHomeV683.ggi-pet-salon-v773,
.ggi-avatar-home-v721.ggi-pet-salon-v773{
  width:316px!important;
  height:316px!important;
  transform:translate(-50%,-100%)!important;
  translate:none!important;
  rotate:0deg!important;
  scale:1!important;
  animation:none!important;
  background-image:url("island-pet-salon-v773.png")!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:50% 100%!important;
  background-color:transparent!important;
  filter:drop-shadow(0 11px 7px rgba(24,47,47,.34))!important;
}
#ggIslandHomeV683.ggi-pet-salon-v773:is([data-burn-state="burned"],.burned-v721),
.ggi-avatar-home-v721.ggi-pet-salon-v773[data-burn-state="burned"]{
  background-image:url("island-pet-salon-v773.png")!important;
  background-size:contain!important;
  background-position:50% 100%!important;
  transform:translate(-50%,-100%)!important;
}
#ggIslandHomeV683.ggi-pet-salon-v773:active{
  transform:translate(-50%,-100%)!important;
  scale:1!important;
}
#ggIslandHomeV683.ggi-pet-salon-v773 .ggi-avatar-home-hit-v721{
  left:18%!important;right:17%!important;top:18%!important;bottom:8%!important;
}
/* Keep only the tiny ambient overlays alive. */
#ggIslandHomeV683.ggi-pet-salon-v773 .ggi-pet-salon-props-v771{display:block!important}

/* Detailed stingray/manta route beneath the avatar-home pier decks. */
.ggi-feature-sea-v773.housing-ray{
  width:224px!important;
  height:140px!important;
  pointer-events:none!important;
  opacity:.67!important;
  overflow:visible!important;
  filter:drop-shadow(0 8px 7px rgba(14,57,80,.17));
}
.ggi-feature-sea-v773 .ggi-feature-sea-motion-v773{
  position:absolute;inset:0;display:block;overflow:hidden;transform-origin:50% 50%;
}
.ggi-feature-housing-ray-v773{
  position:absolute;inset:0;display:block;
  background:url("island-housing-stingray-v773.png") 0 50%/400% 100% no-repeat;
  animation:ggiHousingRayFramesV773 1.38s steps(1,end) infinite;
}
@keyframes ggiHousingRayFramesV773{
  0%,23%{background-position:0% 50%}
  25%,48%{background-position:33.333333% 50%}
  50%,73%{background-position:66.666667% 50%}
  75%,100%{background-position:100% 50%}
}

/* Ray bubble wake and housing-ray bubble wake. These nodes are
   short-lived and are created by the existing Island scheduler—never a new RAF. */
.ggi-feature-sea-fx-v774{position:absolute;left:0;top:0;width:52px;height:48px;pointer-events:none;overflow:visible;opacity:0}
.ggi-feature-sea-fx-v774.ray-bubbles{animation:ggiRayWakeV774 1.8s ease-out forwards}
.ggi-feature-sea-fx-v774.ray-bubbles i{position:absolute;width:8px;height:8px;border:2px solid rgba(211,249,255,.66);border-radius:50%;left:20px;bottom:3px;box-shadow:0 0 5px rgba(160,239,255,.26)}
.ggi-feature-sea-fx-v774.ray-bubbles i:nth-child(2){left:5px;bottom:12px;scale:.72;animation-delay:-.2s}
.ggi-feature-sea-fx-v774.ray-bubbles i:nth-child(3){left:37px;bottom:8px;scale:.52;animation-delay:-.45s}
@keyframes ggiRayWakeV774{0%{opacity:0;transform:var(--ggi-fx-origin,translate3d(0,0,0)) translateY(12px) scale(.75)}18%{opacity:.72}100%{opacity:0;transform:var(--ggi-fx-origin,translate3d(0,0,0)) translateY(-34px) scale(1.08)}}

#ggIslandWaterLifeV710[data-performance="lite"] .ggi-deep-seagrass-v774[data-extra="true"]{display:none!important}
@media(prefers-reduced-motion:reduce){.ggi-feature-sea-fx-v774{display:none!important}}


/* v774 structural aliases and interaction polish. */
.ggi-housing-house-v774,.ggi-housing-house-v774 .ggi-housing-house-frame-v769,.ggi-housing-house-v774 .ggi-housing-house-art-v769{
  translate:none!important;rotate:0deg!important;scale:1!important;animation:none!important;
}
.ggi-house-modal-v766[data-locked="true"] [data-house-knock]{display:inline-flex!important;align-items:center;justify-content:center}
.ggi-housing-house-v773.ggi-knocked-v774 .ggi-housing-house-frame-v769{animation:ggiHouseKnockGlowV774 .72s ease-out 2!important}
@keyframes ggiHouseKnockGlowV774{0%,100%{filter:none}45%{filter:drop-shadow(0 0 15px rgba(255,220,111,.9)) brightness(1.08)}}
.ggi-housing-ray-shadow-v774{position:absolute;left:13%;right:13%;bottom:14%;height:22%;border-radius:50%;background:radial-gradient(ellipse,rgba(6,40,61,.3),transparent 70%);filter:blur(5px);opacity:.55;animation:ggiRayShadowV774 1.38s ease-in-out infinite}
@keyframes ggiRayShadowV774{50%{scale:.88 .72;opacity:.34}}
@media(prefers-reduced-motion:reduce){.ggi-housing-ray-shadow-v774{animation:none!important}}

/* v774 final authority: structural landmark artwork is completely stationary.
   Life comes from explicit prop layers (smoke, pages, candles, lanterns, etc.). */
.gg-island-landmark-v682.grim.ggi-grim-workshop-v737,
.ggi-grim-workshop-sprite-v737,
.ggi-goldie-salon-scene-v719,
.ggi-goldie-salon-sprite-v715,
#ggIslandHomeV683.ggi-pet-salon-v773{
  animation:none!important;
  translate:none!important;
  rotate:0deg!important;
  scale:1!important;
}


/* ============================================================
   v778 — back-view proportion + single-hand authority hotfix
   ============================================================ */
/* The direction switch may change visible face/hair layers, never the player's outer geometry. */
.gg-island-avatar-v682[data-direction="back"]{
  width:110px!important;
  height:140px!important;
  min-width:110px!important;
  min-height:140px!important;
  transform-origin:50% 88%!important;
}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-direction-v685,
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  scale:1!important;
  translate:none!important;
}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-direction-v685{
  transform:none!important;
}
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682,
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682>svg{
  width:100%!important;
  height:100%!important;
  transform:none!important;
  scale:1!important;
  translate:none!important;
  overflow:visible!important;
}
/* Body, selected outfit and feet remain the exact same layers/coordinates used when facing front. */
.gg-island-avatar-v682[data-direction="back"] .gg-island-avatar-art-v682 :is(
  #bodyLayer,#pantsLayer,#shirtLayer,#wardrobeExtraLayer,
  #ggV566FeetLayer,#ggV563FeetLayer,#ggV561FeetLayer,#ggV569FeetLayer,
  #ggV572FeetLayer,#ggV573FeetOverlay,#ggV575FeetOverlay,#ggV576FeetOverlay,
  #ggGlobalFeetV534,#ggGlobalFeetV532,#ggGlobalFeetV531,#ggFeetLayerV529,#ggFeetLayerV525,
  .ggi-island-feet-v687
){
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
}
/* There is exactly one hand authority in gameplay: #ggIslandHandsOverlayV705. */
.gg-island-avatar-art-v682 :is(.ggi-island-hands-v687,#ggiIslandBackHandsV687,.ggi-island-back-hands-v687){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
.ggi-avatar-hands-overlay-v705{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
}
.ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
}
.ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687{display:none!important}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713{
  display:none!important;
  visibility:hidden!important;
}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
}

/* v795 — only the dedicated gameplay hands overlay may draw hands. This strips any stray
   hand fragments from the avatar art itself so Gremlin Island never shows extra hands. */
.gg-island-avatar-art-v682 [id*="hand" i],
.gg-island-avatar-art-v682 [class*="hand" i]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
.ggi-avatar-hands-overlay-v705 [id*="hand" i],
.ggi-avatar-hands-overlay-v705 [class*="hand" i]{
  display:initial!important;
  visibility:visible!important;
  opacity:1!important;
}
/* Directional hand visibility is owned by the rules below, never force both sets visible. */

/* Chicken shadows stay planted on the ground and are deliberately darker/readable on bright grass. */
.ggi-chicken-shadow-v771{
  background:rgba(25,23,18,.68)!important;
  opacity:var(--ggi-chicken-shadow-opacity,.56)!important;
  filter:blur(var(--ggi-chicken-shadow-blur,2.5px))!important;
  box-shadow:0 2px 7px rgba(0,0,0,.22)!important;
}


/* v796 cleanup — authoritative Island hand visibility and mobile control polish. */
.gg-island-avatar-v682 .ggi-avatar-hands-overlay-v705,
.ggi-remote-avatar-v706 .ggi-avatar-hands-overlay-v705{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
  z-index:100!important;
}
.gg-island-avatar-v682 .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713,
.ggi-remote-avatar-v706 .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713,
.gg-island-avatar-v682 .ggi-avatar-hands-overlay-v705 .ggi-island-hands-v687,
.ggi-remote-avatar-v706 .ggi-avatar-hands-overlay-v705 .ggi-island-hands-v687{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
}
.gg-island-avatar-v682 .ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687,
.ggi-remote-avatar-v706 .ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687,
.gg-island-avatar-v682 .ggi-avatar-hands-overlay-v705 .ggi-island-back-hands-v687,
.ggi-remote-avatar-v706 .ggi-avatar-hands-overlay-v705 .ggi-island-back-hands-v687{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713,
.ggi-remote-avatar-v706[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713,
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 .ggi-island-hands-v687,
.ggi-remote-avatar-v706[data-direction="back"] .ggi-avatar-hands-overlay-v705 .ggi-island-hands-v687{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687,
.ggi-remote-avatar-v706[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687,
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 .ggi-island-back-hands-v687,
.ggi-remote-avatar-v706[data-direction="back"] .ggi-avatar-hands-overlay-v705 .ggi-island-back-hands-v687{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
}
.gg-island-avatar-art-v682 .ggi-island-hands-v687,
.gg-island-avatar-art-v682 #ggiIslandBackHandsV687,
.gg-island-avatar-art-v682 .ggi-island-back-hands-v687{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
.gg-island-side-rail-v682 button,
.gg-island-bottom-actions-v682 button,
.gg-island-bottom-shop-v682,
.gg-island-bottom-exit-v682,
.gg-island-bottom-money-v682,
.gg-island-bottom-level-v682{
  touch-action:manipulation;
}
.gg-island-side-rail-v682{gap:10px!important}


/* v799 — articulated fish: the route moves the host, fins move inside the SVG. */
#ggIslandGameV682 .ggi-feature-sea-v771.shark,
#ggIslandGameV682 .ggi-feature-sea-v771.shark .ggi-feature-sea-motion-v771{overflow:visible!important}
.ggi-feature-sea-v771.shark .ggi-feature-sea-motion-v771 svg{overflow:visible;width:100%;height:100%}
.ggi-feature-sea-v771.shark .ggi-fantasy-fish-v797{animation:ggiFantasyFishFloatV797 1.9s ease-in-out infinite alternate;transform-box:view-box;transform-origin:100px 59px}
.ggi-feature-sea-v771.shark .ggi-fish-eye-v797{transform-box:view-box;transform-origin:65px 42px;animation:ggiFantasyFishBlinkV797 5.6s linear infinite}
@keyframes ggiFantasyFishFloatV797{from{transform:translateY(0) rotate(-1.2deg)}to{transform:translateY(-2px) rotate(1.2deg)}}
@keyframes ggiFantasyFishBlinkV797{0%,43%,48%,100%{transform:scaleY(1)}45%,46%{transform:scaleY(.08)}}
.ggi-feature-sea-v771.shark [data-fish-part]{transform-box:view-box}
.ggi-feature-sea-v771.shark .ggi-fish-dorsal-v799{transform-origin:107px 33px;animation:ggiFishDorsalV799 1.25s ease-in-out infinite alternate}
.ggi-feature-sea-v771.shark .ggi-fish-ventral-v799{transform-origin:107px 91px;animation:ggiFishVentralV799 1.15s ease-in-out -.4s infinite alternate}
.ggi-feature-sea-v771.shark .ggi-fish-tail-v799{transform-origin:133px 64px;animation:ggiFishTailV799 .7s ease-in-out infinite alternate}
.ggi-feature-sea-v771.shark .ggi-fish-pectoral-v799{transform-origin:102px 65px;animation:ggiFishPectoralV799 .64s ease-in-out -.16s infinite alternate}
.ggi-feature-sea-v771.shark .ggi-fish-mouth-v799{transform-origin:48px 63px;animation:ggiFishMouthV799 2.4s ease-in-out infinite alternate}
.ggi-feature-sea-v771.shark .ggi-fish-barbel-left-v799{transform-origin:53px 66px;animation:ggiFishBarbelV799 1.45s ease-in-out infinite alternate}
.ggi-feature-sea-v771.shark .ggi-fish-barbel-right-v799{transform-origin:67px 67px;animation:ggiFishBarbelV799 1.45s ease-in-out -.55s infinite alternate}
@keyframes ggiFishDorsalV799{from{transform:rotate(-7deg) skewX(-4deg)}to{transform:rotate(9deg) skewX(4deg)}}
@keyframes ggiFishVentralV799{from{transform:rotate(6deg) scaleY(.96)}to{transform:rotate(-9deg) scaleY(1.06)}}
@keyframes ggiFishTailV799{from{transform:rotate(-12deg) scaleX(.82)}to{transform:rotate(12deg) scaleX(1.06)}}
@keyframes ggiFishPectoralV799{from{transform:rotate(-14deg) scaleY(.72)}to{transform:rotate(19deg) scaleY(1.02)}}
@keyframes ggiFishMouthV799{from{transform:scale(1,.95)}to{transform:scale(1.08,1.06)}}
@keyframes ggiFishBarbelV799{from{transform:rotate(-7deg)}to{transform:rotate(9deg)}}
.ggi-feature-sea-v771.shark.ggi-fish-motion-paused-v799 :is([data-fish-part],.ggi-fantasy-fish-v797,.ggi-fish-eye-v797){animation-play-state:paused!important}
.ggi-fish-bubble-v799{position:absolute;left:0;top:0;box-sizing:border-box;border:1px solid rgba(228,252,255,.92);border-radius:50%;background:radial-gradient(circle at 28% 26%,rgba(255,255,255,.85) 0 12%,rgba(191,247,255,.12) 24% 65%,rgba(213,252,255,.32) 90%);pointer-events:none;will-change:transform,opacity}
.ggi-fish-bubble-v799[hidden]{display:none!important}
.gg-island-avatar-effects-v686.popcorn>i{left:var(--ggi-item-fx-x,50%);top:var(--ggi-item-fx-y,36%)}
@media(prefers-reduced-motion:reduce){.ggi-feature-sea-v771.shark :is([data-fish-part],.ggi-fantasy-fish-v797,.ggi-fish-eye-v797){animation:none!important}}

/* v800 surface wakes do not add another world-sized paint layer. */
.ggi-fish-wake-v800{position:absolute;width:var(--ggi-wake-w,88px);height:var(--ggi-wake-h,29px);border:2.2px solid rgba(235,255,251,.92);border-left-color:transparent;border-right-color:rgba(235,255,251,.50);border-radius:50%;pointer-events:none;box-sizing:border-box;filter:drop-shadow(0 0 6px rgba(224,255,246,.28));will-change:transform,opacity}
.ggi-fish-wake-v800[data-kind="shark"]{--ggi-wake-w:154px;--ggi-wake-h:48px;border-width:2.6px}
.ggi-fish-wake-v800[data-kind="ray"]{--ggi-wake-w:106px;--ggi-wake-h:34px}
.ggi-fish-wake-v800:before,.ggi-fish-wake-v800:after{content:"";position:absolute;border-radius:50%;box-sizing:border-box}
.ggi-fish-wake-v800:before{inset:4px 9px;border:1.45px solid rgba(228,253,249,.70);border-right-color:transparent}
.ggi-fish-wake-v800:after{inset:9px 19px;border:1.15px solid rgba(221,251,246,.50);border-left-color:transparent}
.ggi-fish-wake-v800[hidden]{display:none!important}
.gg-island-world-v682.ggi-water-toxic-v800{background-color:var(--ggi-ocean-overscan-v800,#278f58)!important}
.gg-island-world-v682.ggi-water-toxic-v800 .gg-island-water-motion-v686{background-color:#278f58!important;background-image:none!important}

/* v804: all held equipment shares front-of-body depth when viewed from behind. */
.gg-island-avatar-v682[data-direction="back"] .ggi-equipped-tool-v690:not([data-tool="hamsterBall"]),
.ggi-remote-avatar-v706[data-direction="back"] .ggi-remote-tool-v706{z-index:4!important;opacity:1!important}
.ggi-remote-avatar-v706[data-direction="back"] .gg-island-avatar-art-v682{position:relative!important;z-index:10!important}
.ggi-remote-avatar-v706[data-direction="left"] .ggi-remote-tool-v706:not(.ggi-remote-stick-v722){left:3%!important;right:auto!important;transform:scaleX(-1) rotate(-12deg)!important}
.ggi-remote-avatar-v706[data-direction="right"] .ggi-remote-tool-v706:not(.ggi-remote-stick-v722){left:55%!important;right:auto!important;transform:rotate(-12deg)!important}
.ggi-remote-avatar-v706[data-direction="back"] .ggi-remote-tool-v706:not(.ggi-remote-stick-v722){left:40%!important;right:auto!important}
/* Momentary performance pose never edits or snapshots the equipped item. */
.gg-island-avatar-v682.ggi-drumming-v804 .ggi-equipped-tool-v690{visibility:hidden!important}
.gg-island-avatar-v682.ggi-drumming-v804 .gg-island-avatar-walk-v685{animation:none!important;transform:none!important}
.gg-island-avatar-v682.ggi-drumming-v804 .ggi-avatar-hands-overlay-v705 :is(.hand-motion,.motion){animation:none!important}
.gg-island-avatar-v682.ggi-drumming-v804 .ggi-avatar-hands-overlay-v705 :is(.hand-left,.gg-hand-left) :is(.hand-motion,.motion){translate:0 var(--drum-hand-left-v804,0px)!important}
.gg-island-avatar-v682.ggi-drumming-v804 .ggi-avatar-hands-overlay-v705 :is(.hand-right,.gg-hand-right) :is(.hand-motion,.motion){translate:0 var(--drum-hand-right-v804,0px)!important}
#ggIslandFamiliarV682.ggi-drum-familiar-v804 .gg-island-familiar-motion-v685{animation:none!important;translate:0 var(--drum-pet-bob-v804,0px)!important}
@media(prefers-reduced-motion:reduce){.ggi-drumming-v804 .ggi-avatar-hands-overlay-v705 :is(.hand-motion,.motion),#ggIslandFamiliarV682.ggi-drum-familiar-v804 .gg-island-familiar-motion-v685{translate:none!important}}

/* Shared held-item artwork, rather than platform-dependent emoji for remote tools. */
.ggi-remote-tool-v706:not(.ggi-remote-stick-v722){width:74px;height:82px;font-size:0;right:-8px;top:32px}
.ggi-remote-tool-v706:not(.ggi-remote-stick-v722)>:is(svg,img,span){display:block;width:100%;height:100%;object-fit:contain}

/* v809: the same terrain canvas includes the camera's northern overscan. */
.gg-island-world-v682 #ggIslandCanvasV682{position:absolute!important;left:0!important;top:-460px!important;width:2800px!important;height:2700px!important;max-height:none!important}
.gg-island-world-v682::before{display:none!important;content:none!important}

/* v812: Island owns one hand pair and repositions those same SVG nodes for the
   back view. Never reveal an obsolete cloned back-hand layer, even on Safari. */
.gg-island-avatar-v682 .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713.ggi-island-single-hands-v812,
.ggi-remote-avatar-v706 .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713.ggi-island-single-hands-v812,
.gg-island-avatar-v682[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713.ggi-island-single-hands-v812,
.ggi-remote-avatar-v706[data-direction="back"] .ggi-avatar-hands-overlay-v705 #ggiIslandFrontHandsV713.ggi-island-single-hands-v812{
  display:inline!important;
  visibility:visible!important;
  opacity:1!important;
}
.ggi-avatar-hands-overlay-v705 #ggiIslandBackHandsV687,
.ggi-avatar-hands-overlay-v705 .ggi-island-back-hands-v687{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}
