:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;overscroll-behavior:none;background:#dce8dd;font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}#app{touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}#game{touch-action:none;width:100%;height:100%;display:block}#hud{z-index:4;top:max(14px, env(safe-area-inset-top));width:100%;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));pointer-events:none;grid-template-columns:1fr 54px 1fr;align-items:center;display:grid;position:absolute;left:0}.round-control{color:#173c3a;-webkit-backdrop-filter:blur(8px);background:#f8fff6b8;border:1.5px solid #2b625d;border-radius:50%;width:54px;height:54px;padding:0;box-shadow:0 5px 16px #315b4c18}#score{color:#173c3a;text-align:center;text-shadow:0 2px 12px #fffa;pointer-events:none;grid-column:2;place-items:center;width:54px;height:54px;font-size:clamp(30px,8vw,44px);font-weight:650;line-height:1;transition:color .18s,transform .18s;display:grid}#score.bump{transform:scale(1.16)}#score.lost{color:#b94c42}.hud-toggle{pointer-events:auto;color:#1f5550;cursor:pointer;place-items:center;transition:color .14s,background .14s,border-color .14s,opacity .14s,transform .1s;display:grid}#sound-toggle{justify-self:start}#loops-toggle{justify-self:end}.hud-toggle svg,#drop svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px;margin:auto;display:block;overflow:visible}.hud-toggle .sound-speaker{fill:currentColor;stroke:none}.hud-toggle[aria-pressed=true] .toggle-off,.hud-toggle[aria-pressed=false] .toggle-on{display:none}.hud-toggle[aria-pressed=false]{color:#52746f;opacity:.72;background:#edf5ec9c;border-color:#56827d99}.hud-toggle:not(:disabled):active{transform:scale(.94)}.hud-toggle:focus-visible,#drop:focus-visible{outline-offset:2px;outline:3px solid #ffffffd9}.hud-toggle:disabled{opacity:.3;cursor:default}#drop{color:#1f5550;cursor:pointer}#share-trace{z-index:5;left:max(14px, env(safe-area-inset-left));bottom:max(18px, calc(env(safe-area-inset-bottom) + 8px));color:#fffdf3;letter-spacing:.045em;background:#173c3ad9;border:1px solid #ffffff94;border-radius:22px;min-height:42px;padding:0 17px;font:650 13px/1 Avenir Next,Helvetica Neue,sans-serif;position:absolute;box-shadow:0 6px 20px #315b4c25}#share-trace[hidden]{display:none}#drop{z-index:4;left:50%;bottom:max(24px, calc(env(safe-area-inset-bottom) + 16px));position:absolute;transform:translate(-50%)}#drop[hidden]{display:none}#drop:disabled{opacity:.3;cursor:default}#drop:not(:disabled):active{transform:translate(-50%)scale(.96)}#share-trace{bottom:max(86px, calc(env(safe-area-inset-bottom) + 78px))}#rotation-bubble{z-index:2;aspect-ratio:1;opacity:0;pointer-events:none;background:radial-gradient(at 28% 18%,#ffffff70 0 2%,#ffffff30 6%,#ffffff10 15%,#0000 28%),radial-gradient(at 76% 20%,#9dcaff22 0 7%,#0000 29%),radial-gradient(at 25% 79%,#ffd2db20 0 8%,#0000 31%),radial-gradient(at 72% 82%,#29796f18 0 10%,#0000 33%),radial-gradient(circle at 46% 43%,#d9fff012 0 38%,#77bcb11c 70%,#2672692b 100%);border:1px solid #3a817942;border-radius:50%;transition:opacity .11s ease-out,transform .15s ease-out,filter .14s ease-out;position:absolute;transform:translate(-50%,-50%)scale(.975);box-shadow:inset 18px 20px 40px #ffffff25,inset -25px -22px 44px #286f681f,0 5px 22px #315f5a12}#rotation-bubble[hidden]{display:none}#rotation-bubble.held{opacity:.96;animation:4.8s ease-in-out infinite bubble-breathe;transform:translate(-50%,-50%)scale(1)}#rotation-bubble.active{opacity:1}#rotation-bubble.held.exploring{opacity:0;filter:saturate(.72)brightness(.98)}#rotation-bubble .bubble-loops{opacity:0;width:100%;height:100%;transition:opacity 90ms ease-out;position:absolute;inset:0;overflow:visible}#rotation-bubble[data-loops-enabled=true].active.looping .bubble-loops{opacity:.86;transition-duration:.17s;transition-delay:55ms}#rotation-bubble .bubble-loop{fill:none;stroke-width:1.15px;stroke-linecap:round;vector-effect:non-scaling-stroke}#rotation-bubble .loop-back{opacity:.25;stroke-dasharray:2.4 3.2}#rotation-bubble .loop-front{opacity:.82;filter:drop-shadow(0 0 1.5px #fff8)}#rotation-bubble .loop-a{stroke:#d68ca9}#rotation-bubble .loop-b{stroke:#3b8f88}#rotation-bubble .loop-c{stroke:#7b82c5}#rotation-bubble.popping{animation:.145s cubic-bezier(.2,.7,.35,1) forwards bubble-pop}#rotation-bubble:before{content:"";filter:blur(7px);background:linear-gradient(105deg,#ffffff3d,#d8fff015 44%,#0000 72%);border-radius:50%;width:19%;height:52%;animation:5.6s ease-in-out infinite bubble-shimmer;position:absolute;top:15%;left:13%;transform:rotate(22deg)}#rotation-bubble:after{content:"";filter:blur(.35px);border-bottom:2px solid #2c746c38;border-radius:50%;width:36%;height:18%;position:absolute;bottom:11%;right:14%;transform:rotate(-12deg)}#rotation-bubble .bubble-highlight{filter:blur(.2px);opacity:.82;border-top:3px solid #ffffffb5;border-left:1px solid #d8fff057;border-radius:50%;width:49%;height:28%;animation:4.4s ease-in-out infinite bubble-glint;position:absolute;top:8%;left:12%;transform:rotate(-18deg)}@keyframes bubble-breathe{0%,to{transform:translate(-50%,-50%)scale(.994)}50%{transform:translate(-50%,-50%)scale(1.008)}}@keyframes bubble-shimmer{0%,to{opacity:.68;transform:translate(-1%,1%)rotate(22deg)}50%{opacity:1;transform:translate(3%,-2%)rotate(18deg)}}@keyframes bubble-glint{0%,to{opacity:.64;transform:translate(-1%,1%)rotate(-18deg)}50%{opacity:.92;transform:translate(2%,-2%)rotate(-15deg)}}@keyframes bubble-pop{0%{opacity:1;filter:saturate();transform:translate(-50%,-50%)scale(1)}45%{opacity:.9;filter:saturate(1.3)brightness(1.08);transform:translate(-50%,-50%)scale(1.035)}to{opacity:0;filter:saturate(1.1)brightness(1.16);transform:translate(-50%,-50%)scale(1.105)}}#rotation-bubble .bubble-highlight:after{content:"";filter:blur(.5px);background:#ffffff78;border-radius:50%;width:8px;height:5px;position:absolute;top:-7%;right:8%}@media (prefers-reduced-motion:reduce){#rotation-bubble{transition:none}#rotation-bubble.held,#rotation-bubble:before,#rotation-bubble .bubble-highlight{animation:none}#rotation-bubble .bubble-loops{transition:none}}
