*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{touch-action:none;font-family:system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden}.bubble{cursor:pointer;touch-action:none;z-index:20;opacity:0;animation:22s linear infinite rise;position:absolute;bottom:0}@keyframes rise{0%{opacity:var(--travel-opacity);animation-timing-function:cubic-bezier(.34,1.56,.64,.94);transform:translateY(100%)}4%{opacity:var(--travel-opacity);animation-timing-function:linear;transform:translateY(calc(-100% - 18vh))}to{opacity:var(--travel-opacity);transform:translateY(-105vh)}}.bubble__skin{background:#ffffff1a;border:2px solid #ffffff8c;border-radius:50%;transition:box-shadow .3s ease-out,border-color .3s ease-out;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 #fff0}.bubble__skin--jelly{animation:jelly var(--idle-dur,2.2s) ease-in-out infinite alternate;animation-delay:var(--idle-delay,0s);background:radial-gradient(circle at 34% 66%,#f5ffc380 0%,#f5ffc300 14%),radial-gradient(circle at 34% 66%,#e6ffb461 0%,#e6ffb400 34%),radial-gradient(circle closest-side at 62% 36%,#dcffaa1a 0%,#dcffaa00 78%),radial-gradient(circle closest-side at 50% 45%,#009539 0%,#00a437 12%,#00b434 24%,#00c432 36%,#00d430 48%,#1bde30 56%,#35e731 63%,#4eef35 70%,#6bf73d 78%,#81fc45 84%,#93fe4c 89%,#a5ff54 94%,#b8ff5e 100%);border-color:#d4ff94bf;box-shadow:inset 0 0 24px #c8ff969e,0 0 #a0ff5a00}.bubble__skin--jelly .jelly__organ{animation:shimmer calc(var(--idle-dur,1s) * 6) ease-in-out infinite;animation-delay:var(--idle-delay,0s);background:radial-gradient(55% 55% at 58% 40%,#f0ffcd80 0%,#f0ffcd29 35%,#f0ffcd00 72%);border-radius:50%;position:absolute;inset:0}.bubble__skin--confetti{background:radial-gradient(circle closest-side,#fff0 76%,#ffffff38 93%,#ffffff5c 100%),radial-gradient(40% 40% at 72% 24%,#ffffff24 0%,#fff0 70%),radial-gradient(40% 40% at 28% 76%,#ffffff12 0%,#fff0 70%),#ffffff1a;border-color:#fff6;box-shadow:0 0 26px 6px #ffffff2e}@keyframes shimmer{0%,to{opacity:.3;transform:translate(0)}50%{opacity:1;transform:translate(-13%,7%)}}.bubble__skin--poked{transform-origin:var(--poke-x,50%) var(--poke-y,50%);transform:var(--poke-transform,scale(1));transition:box-shadow .3s ease-out,border-color .3s ease-out,transform 90ms ease-out;animation:none}.bubble__skin--pinched{transform-origin:50%}.bubble__skin--jelly.bubble__skin--poked{animation:grip-squeeze var(--grip-dur,.65s) cubic-bezier(.55, 0, 1, .45) forwards;animation-delay:var(--grip-delay,0s);transition:box-shadow .3s ease-out,border-color .3s ease-out}.bubble__skin--jelly.bubble__skin--pinched{animation:none}.bubble__skin--jelly.bubble__skin--released{transform-origin:50%;animation:1.3s cubic-bezier(.4,0,.6,1) forwards grip-springback}@keyframes grip-springback{6%{transform:scale(1.09,.91)}18%{transform:scale(.93,1.07)}30%{transform:scale(1.058,.942)}42%{transform:scale(.948,1.052)}54%{transform:scale(1.035,.965)}65%{transform:scale(.978,1.022)}74%{transform:scale(1.012,.988)}80%{transform:translateY(-1.5px)scale(1)}to{transform:translateY(-1.5px)scale(1)}}@keyframes grip-squeeze{0%{transform:translate(calc(var(--kick-x,0px) * -.3), calc(var(--kick-y,0px) * -.3)) rotate(var(--poke-angle,0deg)) scale(calc((1 + var(--uni-max,0) * .3) * (1 - var(--press-max,0) * .3)), calc((1 + var(--uni-max,0) * .3) * (1 + var(--bulge-max,0) * .3))) rotate(calc(var(--poke-angle,0deg) * -1))}to{transform:translate(calc(var(--kick-x,0px) * -1), calc(var(--kick-y,0px) * -1)) rotate(var(--poke-angle,0deg)) scale(calc((1 + var(--uni-max,0)) * (1 - var(--press-max,0))), calc((1 + var(--uni-max,0)) * (1 + var(--bulge-max,0)))) rotate(calc(var(--poke-angle,0deg) * -1))}}.bubble__skin:after{content:"";left:var(--poke-x,50%);top:var(--poke-y,50%);opacity:0;background:radial-gradient(45% 45% at 38% 62%,#ffffff38 0%,#ffffff17 40%,#fff0 78%),radial-gradient(circle closest-side,#00000029 0%,#00000021 25%,#00000013 50%,#00000008 72%,#0000 88%);border-radius:50%;width:72%;height:72%;margin:-36% 0 0 -36%;transition:opacity .15s ease-out;position:absolute}.bubble__skin--dented:after{opacity:1}@keyframes jelly{0%{transform:translateY(0)scale(1.05,.95)}to{transform:translateY(-3px)scale(.95,1.05)}}.bubble__skin:before{content:"";background:#ffffff4d;border-radius:50%;width:26%;height:26%;position:absolute;top:14%;right:25%}.bubble__skin--jelly:before{width:74%;height:46%;animation:jelly-spec-drift calc(var(--idle-dur,1s) * 9) ease-in-out infinite alternate;animation-delay:var(--idle-delay,0s);background:radial-gradient(14% 16% at 66% 26%,#fffffaf2 0%,#faffeb80 40%,#faffeb00 80%),radial-gradient(26% 22% at 58% 34%,#faffeb4d 0%,#faffeb00 74%),radial-gradient(5% 8% at 57% 64%,#faffee73 0%,#faffee00 78%),radial-gradient(62% 105% at 46% 108%,#0000 80%,#faffee38 87%,#faffee00 95%);border-radius:0;top:4%;right:12%}@keyframes jelly-spec-drift{0%{transform:translate(0%)rotate(0)scale(1)}to{opacity:.88;transform:translate(-8%,5%)rotate(3deg)scale(.94)}}.bubble__skin--confetti:before{width:34%;height:64%;animation:confetti-window-travel calc(var(--idle-dur,1s) * 11) ease-in-out infinite alternate;animation-delay:var(--idle-delay,0s);background:linear-gradient(90deg,#fff0 26%,#ffffffbf 42% 58%,#fff0 74%);border-radius:0;top:8%;right:16%;-webkit-mask:linear-gradient(#0000 0%,#000 24% 76%,#0000 100%);mask:linear-gradient(#0000 0%,#000 24% 76%,#0000 100%)}@keyframes confetti-window-travel{0%{opacity:.95;transform:rotate(24deg)translate(0%)scale(1)}to{opacity:.62;transform:rotate(21deg)translate(-7%,5%)scale(.9)}}.bubble__skin--confetti:after{content:"";opacity:1;width:18%;height:46%;animation:confetti-pane-wane calc(var(--idle-dur,1s) * 7) ease-in-out infinite alternate;animation-delay:var(--idle-delay,0s);background:linear-gradient(90deg,#fff0 18%,#ffffff42 44% 56%,#fff0 82%);border-radius:0;margin:0;position:absolute;top:24%;left:auto;right:9%;-webkit-mask:linear-gradient(#0000 0%,#000 26% 74%,#0000 100%);mask:linear-gradient(#0000 0%,#000 26% 74%,#0000 100%)}@keyframes confetti-pane-wane{0%{opacity:.35;transform:rotate(24deg)translate(3%,-2%)scale(.95)}to{opacity:1;transform:rotate(26deg)translate(-3%,2%)scale(1)}}.bubble:hover .bubble__skin{border-color:#ffffffd9;box-shadow:0 0 22px 4px #fff6}.bubble:hover .bubble__skin--jelly{border-color:#cdff7df2;box-shadow:inset 0 0 24px #c8ff8ca6,0 0 22px 4px #a0ff5a73}.bubble:hover .bubble__skin--confetti{border-color:#ffffffbf;box-shadow:0 0 42px 12px #ffffff4d}.bubble--burst{cursor:default;pointer-events:none;animation-play-state:paused}.bubble__shards,.bubble__shard{position:absolute;inset:0}.bubble__droplet{background:#ffffffe6;border-radius:50%;animation:.5s cubic-bezier(.12,.84,.35,1) forwards scatter;position:absolute;top:50%;left:50%}@keyframes scatter{0%{opacity:1;transform:translate(0)scale(1)}70%{opacity:.9}to{opacity:0;transform:translate(70px)scale(.3)}}@keyframes jelly-scatter{0%{opacity:1;transform:translate(0)scale(1)}44%{transform:translateX(var(--fly,90px)) scale(1);animation-timing-function:cubic-bezier(.66,0,1,.45)}92%{transform:translateX(var(--fly,90px)) scale(.28);opacity:1}to{transform:translateX(var(--fly,90px)) scale(.28);opacity:0}}.bubble__mover{opacity:1;position:absolute;inset:0}@keyframes jelly-jiggle{0%{transform:scale(1.22,.85)}25%{transform:scale(1.12,.93)}44%{transform:scale(.93,1.07)}54%{transform:scale(1.04,.96)}63%{transform:scale(.973,1.027)}71%{transform:scale(1.02,.98)}79%{transform:scale(.99,1.01)}86%{transform:scale(1.008,.992)}93%,to{transform:scale(1)}}.bubble__skin--soap{border:var(--rim,3.6px) solid #d7f2fff2;background:radial-gradient(95% 60% at 50% -2%,#ff7bb094 0%,#ff7bb033 40%,#ff7bb000 68%),radial-gradient(55% 60% at 18% 26%,#d9f05e61 0%,#d9f05e00 72%),radial-gradient(50% 60% at 86% 24%,#cdb9ff6b 0%,#cdb9ff00 72%),radial-gradient(50% 64% at 90% 62%,#78aaff70 0%,#78aaff00 72%),radial-gradient(75% 55% at 12% 90%,#14467352 0%,#14467300 62%),radial-gradient(95% 22% at 50% 100%,#78aaff70 0%,#78aaff00 80%),radial-gradient(95% 30% at 50% 92%,#6fe6d86b 0%,#6fe6d800 80%),radial-gradient(circle at 70% 22%,#fff6de3d 0%,#fff6de29 12%,#fff6de0d 26%,#fff6de00 85%),radial-gradient(circle at 50% 42%,#beeefa1a 0%,#c4f0fa52 40%,#cbf2fb8c 65%,#d0f3fbad 85%,#d2f4fbb8 100%);transition:box-shadow .3s ease-out,border-color .3s ease-out;box-shadow:inset -3px 4px 7px -1px #ffffffe6,inset 2px -3px 6px -2px #ffffff40,0 0 20px 4px #fff6de2e}.bubble__skin--soap:before{content:"";pointer-events:none;transform-origin:63.5% 29%;width:auto;height:auto;animation:glimmer calc(var(--idle-dur,1s) * 12) ease-in-out infinite;animation-delay:var(--idle-delay,0s);background:radial-gradient(21% 15% at 65.5% 22.5%,#fff 0%,#ffffff8c 32%,#fff0 60%),radial-gradient(5.5% 4.1% at 61.5% 35.5%,#fff 0%,#fff0 74%);border-radius:50%;position:absolute;inset:0}.bubble__skin--soap:after{content:"";pointer-events:none;opacity:1;width:auto;height:auto;animation:hshimmer calc(var(--idle-dur,1s) * 14) ease-in-out infinite;animation-delay:var(--idle-delay,0s);background:linear-gradient(20deg,#8ccdff66 0%,#96f0eb57 30%,#cdb9ff66 65%,#ffafd75c 100%);border-radius:50%;margin:0;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 44%,#000 58% 92%,#0000 99%);mask:radial-gradient(circle,#0000 44%,#000 58% 92%,#0000 99%)}.bubble:has(>.bubble__skin--soap):after{content:"";pointer-events:none;z-index:1;-webkit-mask:radial-gradient(circle closest-side at 50% 50%, transparent calc(100% - var(--rim,3.6px) - 2px), black 100%);mask:radial-gradient(circle closest-side at 50% 50%, transparent calc(100% - var(--rim,3.6px) - 2px), black 100%);-webkit-mask:radial-gradient(circle closest-side at 50% 50%, transparent calc(100% - var(--rim,3.6px) - 2px), black 100%);background:conic-gradient(from 45deg,#e6ebfff7 0deg,#d4ecfff5 45deg,#c8dff5f2 90deg,#c4d8f2f0 135deg,#bcd0e6f0 180deg,#c8deecf2 225deg,#cee1d8f5 270deg,#e6e4faf5 315deg,#e6ebfff7 360deg);border-radius:50%;position:absolute;inset:0}@keyframes hshimmer{0%,to{filter:hue-rotate(-20deg)}50%{filter:hue-rotate(20deg)}}@keyframes glimmer{0%,to{opacity:1;transform:rotate(37deg)scale(1.1)}50%{opacity:.72;transform:rotate(37deg)scale(.82)}}.bubble:hover .bubble__skin--soap{border-color:#e6f8ff;box-shadow:inset -3px 4px 7px -1px #fffffff2,inset 2px -3px 6px -2px #ffffff4d,0 0 24px 6px #fff6de3d}@keyframes drift-a{0%{}}.bubble__skin--soap-rays{border-color:#cde4ffb3}.bubble__skin--soap-rays:after{top:0;left:0;filter:blur(16px);opacity:.55;width:auto;height:auto;animation:swirl calc(var(--idle-dur,1s) * 28) linear infinite;animation-delay:var(--idle-delay,0s);background:conic-gradient(from 210deg,#ffa9d5b3,#ffe296a6,#96f0d2b3,#a0d7ffa6,#c8aaffa6,#ffa9d5b3);border-radius:0;margin:0;transition:none;inset:0}.bubble__skin--soap-rays .bubble__glint{filter:blur(3px);opacity:.75;animation:swirl-rev calc(var(--idle-dur,1s) * 42) linear infinite;animation-delay:var(--idle-delay,0s);background:repeating-conic-gradient(from 30deg,#ffa9d599 0deg 5deg,#ffa9d500 5deg 12deg,#96f0d28c 12deg 17deg,#96f0d200 17deg 26deg,#a0d7ff8c 26deg 31deg,#a0d7ff00 31deg 40deg,#ffe29680 40deg 46deg,#ffe29600 46deg 55deg,#c8aaff8c 55deg 60deg,#c8aaff00 60deg 72deg)}.bubble__skin--soap-rays .bubble__glint:after{display:none}@keyframes swirl{to{transform:rotate(360deg)}}@keyframes swirl-rev{to{transform:rotate(-360deg)}}.bubble__spray{pointer-events:none;border-radius:50%;width:0;height:0;animation:.45s cubic-bezier(.12,.84,.35,1) forwards spray-fly,1s forwards spray-fade;position:absolute}@keyframes spray-fly{0%{transform:scale(.3)}to{transform:scale(1.05)}}@keyframes spray-fade{0%{opacity:1}55%{opacity:1;animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:0}}.confetti__glints{position:absolute;inset:0}.confetti__glint{background:#fff6e0;border-radius:50%;animation:6s ease-in-out infinite confetti-glint;position:absolute;box-shadow:0 0 4px 1px #fff6e08c}@keyframes confetti-glint{0%{opacity:0}7%{opacity:.85}27%{opacity:0}to{opacity:0}}.confetti__resting{animation:26s linear infinite confetti-drift;position:absolute;inset:0}.confetti__rest{border-radius:1px;position:absolute}@keyframes confetti-drift{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.confetti__ring{border:4px solid #ffffffd9;border-radius:50%;animation:.7s cubic-bezier(.1,.8,.3,1) forwards reward-ring;position:absolute;inset:0}@keyframes reward-ring{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2.4)}}.confetti__shards{position:absolute;inset:0}.confetti__fly{animation:.45s cubic-bezier(.08,.85,.25,1) forwards confetti-launch;position:absolute;top:50%;left:50%}@keyframes confetti-launch{0%{transform:rotate(var(--aim)) translateX(12px)}to{transform:rotate(var(--aim)) translateX(var(--fly))}}.confetti__piece{animation:confetti-fall var(--fall-dur) linear .3s forwards;border-radius:1px}.confetti__piece:after{content:"";opacity:0;animation:confetti-flash var(--fall-dur) linear .3s forwards;background:#fff;border-radius:1px;position:absolute;inset:0;box-shadow:0 0 8px 2px #ffffffe6}@keyframes confetti-fall{0%{transform:rotate(calc(-1 * var(--aim))) translateY(0) rotate(0deg);opacity:1}86%{transform:rotate(calc(-1 * var(--aim))) translateY(calc(var(--fall) * .86)) rotate(calc(var(--spin) * .86));opacity:1}90%{opacity:1}94%{opacity:0}to{transform:rotate(calc(-1 * var(--aim))) translateY(var(--fall)) rotate(var(--spin));opacity:0}}@keyframes confetti-flash{0%,82%{opacity:0;transform:scale(.3)}86%{opacity:1;transform:scale(1.25)}90%{opacity:1;transform:scale(1.25)}94%{opacity:0;transform:scale(1.3)}to{opacity:0;transform:scale(1.3)}}.bubble__skin--gum{animation:gum-breathe var(--idle-dur,2.2s) ease-in-out infinite alternate;animation-delay:var(--idle-delay,0s);background:radial-gradient(circle closest-side at 68% 26%,#ffffffd9 0%,#ffffff47 22%,#fff0 48%),radial-gradient(circle closest-side at 64% 30%,#ffb26e47 0%,#ffb26e00 42%),linear-gradient(215deg,#ffffff38 0%,#fff0 60%),radial-gradient(circle closest-side at 50% 45%,#e0337a 0%,#e33c7f 10%,#e74485 20%,#ea4c8a 30%,#ed538f 40%,#f05a95 50%,#f3619a 60%,#f6689f 70%,#f96ea5 80%,#fc75aa 90%,#ff7bb0 100%);border-color:#0000;box-shadow:inset 0 0 24px #ffb4d28c,0 0 20px 4px #ff96c329}.bubble__skin--gum:before{content:none}@keyframes gum-breathe{0%{transform:scale(1)}to{transform:scale(1.08)}}.bubble__cloud,.bubble__cloud-orbit,.bubble__cloud-arm,.bubble__cloud-spread,.bubble__cloud-wane,.bubble__cloud-blob,.bubble__cloud-eddy-orbit,.bubble__cloud-eddy{pointer-events:none}.bubble__cloud{position:absolute;inset:0}.bubble__cloud-orbit{width:0;height:0;animation:18s linear infinite gum-orbit;position:absolute}.bubble__cloud-arm{width:0;height:0;position:absolute}.bubble__cloud-spread{width:0;height:0;animation:4.5s forwards gum-disperse;position:absolute}@keyframes gum-disperse{0%{animation-timing-function:cubic-bezier(.12,.84,.35,1);transform:translate(0)}15%{transform:translateX(calc(var(--orbit,120px) * .67));animation-timing-function:cubic-bezier(.3,.45,.55,1)}to{transform:translateX(var(--orbit,120px))}}.bubble__cloud-wane{position:absolute}.bubble__cloud-blob{border-radius:50%;position:absolute;inset:0}.bubble__cloud-eddy-orbit{width:0;height:0;animation:9s linear infinite gum-orbit;position:absolute;top:50%;left:50%}.bubble__cloud-eddy{border-radius:50%;position:absolute}@keyframes gum-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gum-cloud-breath{0%{transform:scale(.9)}to{transform:scale(1.1)}}@keyframes gum-cloud-grow{0%{transform:scale(1)}to{transform:scale(1.7)}}@keyframes gum-cloud-thin{0%{opacity:1}32%{opacity:1;animation-timing-function:cubic-bezier(.4,0,.6,1)}to{opacity:0}}.sea{--sand-h:16%;--sand-top:#f2d795;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;--sand-grain:radial-gradient(2.5px 2.5px at 8px 13px, #8b693747 50%, transparent 51%), radial-gradient(2px 2px at 34px 42px, #fffaea80 50%, transparent 51%), radial-gradient(3px 3px at 66px 29px, #ab8a5459 50%, transparent 51%), radial-gradient(2px 2px at 71px 50px, #8b693740 50%, transparent 51%), radial-gradient(2.5px 2.5px at 49px 7px, #fffaea6b 50%, transparent 51%), radial-gradient(2px 2px at 19px 50px, #ab8a544d 50%, transparent 51%), radial-gradient(2.5px 2.5px at 58px 44px, #8b693738 50%, transparent 51%), radial-gradient(2.5px 2.5px at 12px 24px, #fffaea73 50%, transparent 51%), radial-gradient(3px 3px at 55px 8px, #ab8a5452 50%, transparent 51%), radial-gradient(2px 2px at 60px 61px, #8b693742 50%, transparent 51%), radial-gradient(2.5px 2.5px at 31px 68px, #ab8a544d 50%, transparent 51%), radial-gradient(2px 2px at 48px 72px, #fffaea66 50%, transparent 51%), radial-gradient(3px 3px at 7px 55px, #8b69373d 50%, transparent 51%), radial-gradient(2px 2px at 63px 38px, #fffaea59 50%, transparent 51%), radial-gradient(3px 3px at 22px 18px, #8b693733 50%, transparent 51%), radial-gradient(2.5px 2.5px at 70px 35px, #fffaea66 50%, transparent 51%), radial-gradient(2px 2px at 82px 12px, #ab8a544d 50%, transparent 51%), radial-gradient(2px 2px at 56px 7px, #8b693738 50%, transparent 51%), radial-gradient(2.5px 2.5px at 8px 38px, #ab8a5447 50%, transparent 51%), radial-gradient(3px 3px at 45px 40px, #fffaea52 50%, transparent 51%), radial-gradient(2px 2px at 77px 43px, #8b69373d 50%, transparent 51%);--sand-grain-tiles:79px 58px, 79px 58px, 79px 58px, 79px 58px, 79px 58px, 79px 58px, 79px 58px, 69px 77px, 69px 77px, 69px 77px, 69px 77px, 69px 77px, 69px 77px, 69px 77px, 88px 49px, 88px 49px, 88px 49px, 88px 49px, 88px 49px, 88px 49px, 88px 49px;background:radial-gradient(55% 40% at 78% 4%,#80f6d680 0%,#80f6d62e 45%,#80f6d600 75%),radial-gradient(120% 32% at 50% 94%,#42e4be6b 0%,#42e4be26 50%,#42e4be00 78%),linear-gradient(#a6ecd6 0%,#5edcc4 18%,#2cc4c8 38%,#17a3cd 58%,#0d6fb6 78%,#0a3d8f 100%);height:100%;position:relative;overflow:hidden}.sand{height:var(--sand-h);background:var(--sand-grain),  linear-gradient(180deg, var(--sand-top), #c08a4a);background-size:var(--sand-grain-tiles), 100% 100%;position:absolute;bottom:0;left:0;right:0}.sand:before,.sand:after{content:"";background:var(--sand-grain), var(--sand-top);background-size:var(--sand-grain-tiles);border-radius:50% 50% 0 0/100% 100% 0 0;position:absolute;bottom:100%}.sand:before{width:61%;height:18px;left:-6%}.sand:after{width:68%;height:24px;right:-6%}.perf-probe{z-index:99;color:#fff;pointer-events:none;background:#0000008c;border-radius:6px;padding:4px 8px;font:12px/1.4 monospace;position:fixed;top:8px;left:8px}.waterline{pointer-events:none;background:linear-gradient(#fffbeb47,#fffbeb00);height:5.5%;position:absolute;top:0;left:0;right:0;overflow:hidden}.waterline__sparkle{pointer-events:none;background-image:radial-gradient(56px 12px at 12% 30%,#fffae638 0%,#fffae600 62%),radial-gradient(34px 8px at 46% 62%,#fffae626 0%,#fffae600 58%),radial-gradient(70px 14px at 78% 22%,#fffae630 0%,#fffae600 62%);background-repeat:repeat-x;background-size:280px 100%;animation:30s linear infinite waterline-drift;position:absolute;inset:-20% -280px}@keyframes waterline-drift{0%{transform:translate(0)}to{transform:translate(280px)}}.caustics{height:var(--sand-h);pointer-events:none;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.caustics__drift{pointer-events:none;background-repeat:repeat-x;position:absolute;top:0;bottom:0}.caustics__drift--a{background-image:radial-gradient(62px 20px at 14% 80%,#fffade33 0%,#fffade00 62%),radial-gradient(44px 13px at 52% 62%,#fffade21 0%,#fffade00 60%),radial-gradient(74px 22px at 86% 90%,#fffade38 0%,#fffade00 64%),radial-gradient(30px 10px at 32% 44%,#fffade14 0%,#fffade00 60%);background-size:260px 100%;width:calc(100% + 520px);animation:44s linear infinite caustics-drift-a;left:-260px}.caustics__drift--b{background-image:radial-gradient(40px 12px at 20% 70%,#fffade26 0%,#fffade00 60%),radial-gradient(56px 16px at 64% 86%,#fffade2b 0%,#fffade00 62%),radial-gradient(26px 9px at 88% 55%,#fffade1a 0%,#fffade00 58%),radial-gradient(34px 11px at 42% 40%,#fffade12 0%,#fffade00 58%);background-size:180px 100%;width:calc(100% + 360px);animation:24s linear infinite caustics-drift-b;left:-180px}@keyframes caustics-drift-a{0%{transform:translate(0)}to{transform:translate(260px)}}@keyframes caustics-drift-b{0%{transform:translate(0)}to{transform:translate(180px)}}.rock{border-radius:45% 55% 40% 60%/60% 45% 55% 40%;position:absolute;box-shadow:inset -10px -10px 18px #00000040}.seaweed{position:absolute}.seaweed:before{content:"";background:radial-gradient(50% 50%,#00000038 0% 40%,#0000 100%);height:22px;position:absolute;bottom:-14px;left:-35%;right:-35%}.blade{transform-origin:bottom;width:14px;position:absolute;bottom:-20px}.blade__leaf{transform-origin:bottom;border-radius:14px 14px 0 0;width:100%;height:100%;animation:6s ease-in-out infinite alternate sway}@keyframes sway{0%{transform:rotate(-3.5deg)}to{transform:rotate(3.5deg)}}.fish{width:120px;height:70px;position:absolute;top:0;left:0}.fish__flip{position:absolute;inset:0}.fish__body{transform-origin:75%;background:radial-gradient(circle at 35% 35%,#ff8a70,#e0392e 75%);border-radius:50%;width:85px;height:55px;animation:.45s ease-in-out infinite alternate rock;position:absolute;top:5px;left:30px}@keyframes rock{0%{transform:rotate(2deg)}to{transform:rotate(-2deg)}}.fish__tail{clip-path:polygon(100% 50%,0 0,25% 50%,0 100%);transform-origin:100%;background:#c92c22;width:54px;height:60px;animation:.45s ease-in-out infinite alternate wag;position:absolute;top:2px;left:-10px}@keyframes wag{0%{transform:rotate(-6deg)}to{transform:rotate(6deg)}}.fish__fin{clip-path:polygon(15% 100%,50% 0,100% 100%);background:#c92c22;width:20px;height:18px;position:absolute;top:30px;left:32px}.fish__eye{background:#fff;border:2px solid #2b2b2bd9;border-radius:50%;width:26px;height:26px;transition:transform .1s ease-out;position:absolute;top:8px;right:12px}.fish__eye--closed{transform:scaleY(.08)}.fish__pupil{background:#232323;border-radius:50%;width:13px;height:13px;position:absolute;top:6px;right:4px}.fish__pupil:after{content:"";background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:1px;right:1px}.fish__mouth{border-bottom:3px solid #8f1d16;border-radius:0 0 18px 18px;width:18px;height:10px;position:absolute;bottom:8px;right:8px}.bubble-bg{background:#ffffff1f;border:1.5px solid #ffffff80;border-radius:50%;animation:10s linear infinite rise-bg;position:absolute;bottom:0}@keyframes rise-bg{0%{opacity:.75;transform:translateY(100%)}to{opacity:.75;transform:translateY(-105vh)}}.bubble-bg:after{content:"";background:#ffffff47;border-radius:50%;width:32%;height:32%;position:absolute;top:14%;right:22%}.light-rays{pointer-events:none;transform-origin:60% 0;animation:46s ease-in-out infinite alternate ray-sway;position:absolute;inset:0}.light-ray{--beam:radial-gradient(ellipse 50% 100% at 50% 0%, #ffffff38, transparent 70%);background:var(--beam);transform-origin:top;pointer-events:none;height:85%;animation:10s ease-in-out infinite alternate ray-pulse;position:absolute;top:-5%;overflow:hidden}.light-ray__shimmer{pointer-events:none;background:var(--beam);animation:7s ease-in-out infinite alternate ray-shimmer;position:absolute;inset:0 -24px}@keyframes ray-pulse{0%{opacity:.35}to{opacity:1}}@keyframes ray-shimmer{0%{transform:translate(-12px)}to{transform:translate(12px)}}@keyframes ray-sway{0%{transform:rotate(-1.1deg)}to{transform:rotate(1.1deg)}}
