:root{--paper:#f3f1ea;--water-top:#f7f5ee;--water-mid:#f2f1ea;--water-bottom:#ecefeb;--water-tint:#dbe5e9;--pool-blue:#2456d6;--pool-pattern:none;--float-text:#fff;--ink:#4a5158;--white:#fff;--font-rounded:"Zen Maru Gothic", ui-rounded, "Hiragino Maru Gothic ProN", "Yu Gothic UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-rounded);-webkit-font-smoothing:antialiased;overscroll-behavior:none;overflow:hidden}.water{z-index:0;background:linear-gradient(180deg, var(--water-top) 0%, var(--water-mid) 55%, var(--water-bottom) 100%);position:fixed;inset:0;overflow:hidden}.water__photo{filter:saturate(.72)brightness(1.05)contrast(.94);background-position:50%;background-size:cover;position:absolute;inset:0}.water__photo-wash{background:color-mix(in srgb, var(--paper) 38%, transparent);position:absolute;inset:0}.water__shimmer{will-change:transform;transition:opacity var(--drain-dur) ease;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;position:absolute;inset:-35%}.water--drained .water__shimmer{opacity:0}.water__dry{background:linear-gradient(180deg, color-mix(in srgb, var(--paper) 94%, #9a9080) 0%, color-mix(in srgb, var(--paper) 88%, #9a9080) 100%);opacity:0;transition:opacity var(--drain-dur) ease;position:absolute;inset:0}.water--drained .water__dry{opacity:1}.water__shimmer--a{animation-name:drift-a;animation-duration:var(--drift-a);background:radial-gradient(38% 30% at 24% 28%,#ffffffd9,#0000 70%),radial-gradient(30% 26% at 74% 62%,#fff9,#0000 70%)}.water__shimmer--b{animation-name:drift-b;animation-duration:var(--drift-b);background:radial-gradient(42% 34% at 70% 20%,#dbe5e9e6,#0000 72%),radial-gradient(36% 30% at 22% 74%,#d3dfe4bf,#0000 70%)}.water__shimmer--c{animation-name:drift-c;animation-duration:var(--drift-c);background:radial-gradient(46% 40% at 50% 86%,#2456d60d,#0000 74%),radial-gradient(28% 24% at 82% 40%,#2456d609,#0000 70%),radial-gradient(32% 26% at 30% 48%,#ffffff80,#0000 70%)}@keyframes drift-a{0%{transform:translate(calc(var(--drift-dist) * -1), 0) rotate(0deg) scale(1)}to{transform:translate(var(--drift-dist), calc(var(--drift-dist) * .6)) rotate(var(--drift-rot)) scale(var(--drift-scale))}}@keyframes drift-b{0%{transform:translate(var(--drift-dist), calc(var(--drift-dist) * -.5)) rotate(calc(var(--drift-rot) * -1)) scale(var(--drift-scale))}to{transform:translate(calc(var(--drift-dist) * -.7), var(--drift-dist)) rotate(0deg) scale(1)}}@keyframes drift-c{0%{transform:translate(0, var(--drift-dist)) rotate(0deg) scale(1)}to{transform:translate(calc(var(--drift-dist) * .8), calc(var(--drift-dist) * -.8)) rotate(calc(var(--drift-rot) * .7)) scale(var(--drift-scale))}}@media (prefers-reduced-motion:reduce){.water__shimmer{animation:none}}.float-dock{left:50%;bottom:calc(28px + env(safe-area-inset-bottom));z-index:10;animation:button-bob var(--bob-duration) ease-in-out infinite alternate;transition:opacity .3s;position:fixed;transform:translate(-50%)}.app--choosing .float-dock{opacity:0;pointer-events:none}.float-button{appearance:none;cursor:pointer;background:var(--pool-blue);background-image:var(--pool-pattern);color:var(--float-text);text-shadow:0 0 5px var(--pool-blue), 0 0 2px var(--pool-blue);font-family:var(--font-rounded);letter-spacing:.08em;box-shadow:0 10px 24px color-mix(in srgb, var(--pool-blue) 22%, transparent), 0 2px 6px color-mix(in srgb, var(--pool-blue) 18%, transparent);border:none;border-radius:999px;padding:14px 34px;font-size:16px;transition:transform .15s,box-shadow .15s}.float-button:active{box-shadow:0 6px 14px color-mix(in srgb, var(--pool-blue) 20%, transparent), 0 1px 4px color-mix(in srgb, var(--pool-blue) 16%, transparent);transform:translateY(2px)scale(.97)}@keyframes button-bob{0%{transform:translate(-50%)translateY(0)}to{transform:translateX(-50%) translateY(calc(var(--bob-amplitude) * -1))}}.app--drained .float-dock{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.float-dock{animation:none}}.pool{z-index:1;touch-action:none;position:fixed;inset:0;overflow:hidden}.pool:has(.pool-item--held){z-index:16}.pool-item{will-change:transform;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none;position:absolute;top:0;left:0}.pool-item--held .pool-item__img{filter:drop-shadow(0 12px 14px #4a515838);transform:scale(1.07)}.pool-item__img{transition:transform .2s,filter .2s}.pool-item__body{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.pool-item__img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 6px 8px #4a51582e);max-width:100%;max-height:100%}.pool-item__float{filter:drop-shadow(0 6px 8px #4a51582e);-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative}.pool-item__float-body{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.pool-item__float-font{background-color:var(--pool-blue);position:absolute;inset:0;-webkit-mask:url(/swimring-font.webp) 50%/contain no-repeat;mask:url(/swimring-font.webp) 50%/contain no-repeat}.pool-item__shadow{opacity:.5;background:radial-gradient(50% 50%,#4a586242 0%,#4a58622b 38%,#4a58620f 62%,#0000 80%);border-radius:50%;width:62%;height:10%;position:absolute;bottom:-6%;left:50%;transform:translate(-50%)}.pool-item__body--plop{animation-name:plop;animation-timing-function:cubic-bezier(.3,.6,.35,1);animation-fill-mode:backwards}@keyframes plop{0%{transform:translateY(calc(var(--plop-drop,-48px))) scale(1.05);opacity:0}38%{opacity:1;transform:translateY(0)scale(1)}58%{transform:translateY(5px)scale(1.06,.9)}80%{transform:translateY(-3px)scale(.98,1.03)}to{transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.pool-item__body--plop{animation:none}}.ripple{z-index:2;pointer-events:none;width:0;height:0;position:fixed}.ripple__ring{opacity:0;width:10px;height:10px;transform:translate(-50%, -50%) scaleY(var(--ripple-squash)) rotate(var(--ring-tilt,0deg));animation:ripple-ring var(--ripple-dur) cubic-bezier(.16, .65, .3, 1) forwards;border:1.5px solid #56709ba6;border-radius:51% 49% 50% 50%/49% 51% 48% 52%;position:absolute;top:0;left:0;box-shadow:inset 0 0 6px #ffffffd9}@keyframes ripple-ring{0%{opacity:0;width:10px;height:10px}10%{opacity:var(--ring-opacity,.55)}to{width:var(--ripple-size);height:var(--ripple-size);opacity:0}}.ripple__splash{width:44px;height:44px;transform:scale(.4) scaleY(var(--ripple-squash));animation:ripple-splash var(--splash-dur) ease-out forwards;background:radial-gradient(50% 50%,#fffffff2,#fff0 70%);border-radius:50%;position:absolute;top:-22px;left:-22px}@keyframes ripple-splash{0%{transform:scale(.3) scaleY(var(--ripple-squash));opacity:1}to{transform:scale(1.5) scaleY(var(--ripple-squash));opacity:0}}.ripple__glow{width:140px;height:140px;transform:scale(.3) scaleY(var(--ripple-squash));animation:ripple-glow var(--glow-dur) ease-out forwards;background:radial-gradient(50% 50%,#ffffffb3,#dbe5e940 55%,#0000 72%);border-radius:50%;position:absolute;top:-70px;left:-70px}@keyframes ripple-glow{0%{transform:scale(.3) scaleY(var(--ripple-squash));opacity:.9}to{transform:scale(1.35) scaleY(var(--ripple-squash));opacity:0}}.ripple__drop{width:5px;height:5px;animation:ripple-drop var(--drop-dur) cubic-bezier(.3, .4, .6, 1) forwards;background:#fffffff2;border-radius:50%;position:absolute;top:-2.5px;left:-2.5px;box-shadow:0 0 3px #a0b4c880}.ripple__drop--a{--drop-dx:-16px;--drop-peak:-30px}.ripple__drop--b{--drop-dx:13px;--drop-peak:-24px;animation-delay:50ms}@keyframes ripple-drop{0%{opacity:0;transform:translate(0)scale(1)}15%{opacity:1}55%{transform:translate(calc(var(--drop-dx) * .7), var(--drop-peak)) scale(.85);opacity:1}to{transform:translate(var(--drop-dx), 2px) scale(.55);opacity:0}}@media (prefers-reduced-motion:reduce){.ripple__ring,.ripple__splash,.ripple__glow,.ripple__drop{opacity:0;animation:none}}.detail{z-index:20;position:fixed;inset:0}.detail__veil{background:color-mix(in srgb, var(--paper) 66%, transparent);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .35s;position:absolute;inset:0}.detail--open .detail__veil{opacity:1}.detail__figure{transform-origin:50%;will-change:transform;transition-property:transform,opacity;transition-timing-function:cubic-bezier(.22,.9,.3,1);position:absolute}.detail__figure img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 22px 28px #4a51583d);width:100%;height:100%}.detail--open .detail__figure img{animation:5.2s ease-in-out infinite alternate detail-bob}@keyframes detail-bob{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.detail--open .detail__figure .detail__float-body{animation:none}.detail--lifting .detail__figure{transform:translateY(var(--lift-distance)) scale(var(--fig-scale,1));opacity:0;transition-duration:var(--lift-duration);transition-timing-function:ease-in}.detail__panel{opacity:0;flex-direction:column;align-items:center;gap:10px;transition:opacity .3s .18s,transform .3s .18s;display:flex;position:absolute;left:24px;right:24px;transform:translateY(8px)}.detail--open .detail__panel{opacity:1;transform:none}.detail--lifting .detail__panel{opacity:0;transition-delay:0s}.detail__note-read{text-align:center;width:100%;font-family:var(--font-rounded);color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:16px}.detail__note{appearance:none;text-align:center;width:100%;font-family:var(--font-rounded);color:var(--ink);background:0 0;border:none;font-size:16px}.detail__note::placeholder{color:#4a515859}.detail__note:focus{outline:none}.detail__url{appearance:none;text-align:center;width:85%;font-family:var(--font-rounded);color:#4a51588c;background:0 0;border:none;font-size:16px}.detail__url::placeholder{color:#4a515847}.detail__url:focus{outline:none}.detail__float{width:100%;height:100%;position:relative}.detail__float-body{object-fit:contain;-webkit-user-drag:none;width:100%;height:100%}.detail__float-font{background-color:var(--pool-blue);position:absolute;inset:0;-webkit-mask:url(/swimring-font.webp) 50%/contain no-repeat;mask:url(/swimring-font.webp) 50%/contain no-repeat}.detail__ring-links{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:0}.detail__ring-link{pointer-events:auto;appearance:none;cursor:pointer;font-family:var(--font-rounded);color:var(--pool-blue);border:1.5px solid color-mix(in srgb, var(--pool-blue) 55%, transparent);white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#ffffff9e;border-radius:999px;padding:4px 14px;font-size:12px;text-decoration:none}.detail__ring-link--empty{color:color-mix(in srgb, var(--pool-blue) 45%, transparent);border-style:dashed;border-color:color-mix(in srgb, var(--pool-blue) 30%, transparent);background:#fff6}.detail__ring-input{pointer-events:auto;appearance:none;width:44%;font-family:var(--font-rounded);color:var(--ink);text-align:center;border:1.5px solid color-mix(in srgb, var(--pool-blue) 55%, transparent);background:#ffffffd9;border-radius:999px;padding:4px 10px;font-size:16px}.detail__ring-input:focus{outline:none}.detail__ring-input::placeholder{color:#4a51584d}.detail__ring-visit{pointer-events:auto;font-family:var(--font-rounded);color:color-mix(in srgb, var(--pool-blue) 80%, transparent);padding:2px 8px;font-size:11px;text-decoration:none}.detail__ask{appearance:none;font-family:var(--font-rounded);color:color-mix(in srgb, var(--pool-blue) 60%, transparent);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-size:12px}.detail__visit{border:1.5px solid color-mix(in srgb, var(--pool-blue) 55%, transparent);font-family:var(--font-rounded);color:var(--pool-blue);background:#ffffff8c;border-radius:999px;margin-top:4px;padding:9px 28px;font-size:14px;text-decoration:none}.detail__size{align-items:center;gap:10px;width:56%;margin-top:8px;display:flex}.detail__size-dot{background:#4a51584d;border-radius:50%;flex:none;width:6px;height:6px}.detail__size-dot--big{width:12px;height:12px}.detail__size-slider{appearance:none;cursor:pointer;background:0 0;flex:1;height:22px}.detail__size-slider:focus{outline:none}.detail__size-slider:focus-visible{outline:2px solid color-mix(in srgb, var(--pool-blue) 45%, transparent);outline-offset:2px;border-radius:999px}.detail__size-slider::-webkit-slider-runnable-track{background:#4a515824;border-radius:999px;height:3px}.detail__size-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--pool-blue);border:2.5px solid #fffffff2;border-radius:50%;width:18px;height:18px;margin-top:-7.5px;box-shadow:0 2px 6px #4a515840}.detail__size-slider::-moz-range-track{background:#4a515824;border-radius:999px;height:3px}.detail__size-slider::-moz-range-thumb{background:var(--pool-blue);border:2.5px solid #fffffff2;border-radius:50%;width:18px;height:18px;box-shadow:0 2px 6px #4a515840}.detail__shelve{appearance:none;font-family:var(--font-rounded);color:#4a51588c;cursor:pointer;background:0 0;border:none;margin-top:14px;padding:4px 8px;font-size:12px}.detail__remove{appearance:none;font-family:var(--font-rounded);color:#4a515861;cursor:pointer;background:0 0;border:none;margin-top:2px;padding:4px 8px;font-size:12px}@media (prefers-reduced-motion:reduce){.detail__veil,.detail__figure,.detail__panel{transition:none}.detail--open .detail__figure img{animation:none}}.choice{z-index:21;position:fixed;inset:0}.choice__veil{background:color-mix(in srgb, var(--paper) 70%, transparent);-webkit-backdrop-filter:blur(7px);animation:.32s both choice-veil-in;position:absolute;inset:0}@keyframes choice-veil-in{0%{opacity:0}to{opacity:1}}.choice__sheet{left:24px;right:24px;bottom:calc(76px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:12px;animation:.4s cubic-bezier(.22,.9,.3,1) both choice-sheet-in;display:flex;position:absolute}@keyframes choice-sheet-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.choice__count{color:#4a51586b;margin:0;font-size:11px}.choice__preview{border-radius:18px;max-width:74%;max-height:34vh;transition:opacity .4s;box-shadow:0 18px 26px #4a51582e}.choice__preview--busy{opacity:.5}.choice__ask,.choice__wait{text-align:center;min-height:22px;margin:2px 0 0;line-height:22px}.choice__ask{color:var(--ink);font-size:15px}.choice__wait{color:#4a515899;font-size:13px}.choice__buttons{gap:12px;transition:opacity .3s;display:flex}.choice__button{appearance:none;cursor:pointer;border:1.5px solid color-mix(in srgb, var(--pool-blue) 55%, transparent);font-family:var(--font-rounded);color:var(--pool-blue);white-space:nowrap;-webkit-tap-highlight-color:transparent;background:#ffffff9e;border-radius:999px;padding:11px 26px;font-size:14px;transition:transform .15s,opacity .2s}.choice__button--go{padding:13px 34px;font-size:15px}.choice__button:active{transform:translateY(2px)scale(.97)}.choice__button:disabled{cursor:default;opacity:.4}.choice__cancel{appearance:none;font-family:var(--font-rounded);color:#4a515873;cursor:pointer;background:0 0;border:none;margin-top:2px;padding:4px 8px;font-size:12px;transition:opacity .3s}.choice__buttons--away,.choice__cancel--away{opacity:0;visibility:hidden}.choice__parts{flex-wrap:wrap;justify-content:center;gap:12px;max-height:40vh;padding:6px 6px 2px;animation:.38s both choice-parts-in;display:flex;overflow-y:auto}@keyframes choice-parts-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.choice__part{appearance:none;cursor:pointer;-webkit-tap-highlight-color:transparent;--tilt:-1.8deg;width:100px;height:100px;transform:rotate(var(--tilt));background:0 0;border:none;padding:4px;transition:opacity .3s,transform .3s}.choice__part:nth-child(3n+2){--tilt:1.4deg}.choice__part:nth-child(3n){--tilt:-.6deg}.choice__part img{object-fit:contain;filter:drop-shadow(0 5px 9px #4a51582e);width:100%;height:100%}.choice__part:not(.choice__part--on){opacity:.25;transform:rotate(var(--tilt)) scale(.88)}@media (prefers-reduced-motion:reduce){.choice__veil,.choice__sheet,.choice__parts{animation:none}.choice__preview,.choice__part,.choice__button,.choice__buttons,.choice__cancel{transition:none}}.menu-dot{top:calc(24px + env(safe-area-inset-top));z-index:19;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;gap:3px;width:28px;height:28px;padding:0;display:flex;position:fixed;right:20px;box-shadow:0 3px 10px #4a515829}.menu-dot span{background:color-mix(in srgb, var(--ink) 55%, transparent);border-radius:50%;width:4px;height:4px}.menu-veil{z-index:17;position:fixed;inset:0}.menu-pop{top:calc(60px + env(safe-area-inset-top));z-index:18;-webkit-backdrop-filter:blur(6px);background:#ffffffeb;border-radius:18px;padding:10px 16px 14px;animation:.25s cubic-bezier(.22,.9,.3,1) menu-pop-in;position:fixed;right:16px;box-shadow:0 10px 30px #4a515829}@keyframes menu-pop-in{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:none}}.menu-item{appearance:none;text-align:left;width:100%;font-family:var(--font-rounded);color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:8px 2px;font-size:14px;display:block}.menu-url{appearance:none;text-align:left;width:100%;font-family:var(--font-rounded);color:#4a51588c;cursor:pointer;overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin-top:-4px;padding:0 2px 8px;font-size:12px;display:block}.menu-legal{gap:14px;margin-top:14px;padding:0 2px;display:flex}.menu-legal a{font-family:var(--font-rounded);color:#4a515866;-webkit-tap-highlight-color:transparent;font-size:11px;text-decoration:none}.menu-sep{background:#4a51581a;height:1px;margin:4px 0 12px}.menu-item--back{color:#4a51588c;padding-top:4px;padding-bottom:6px;font-size:12px}.menu-pop{max-height:calc(100vh - 100px);overflow-y:auto}.menu-label{letter-spacing:.1em;color:#4a51588c;margin-bottom:8px;font-size:11px}.menu-appear{animation:.2s menu-appear}@keyframes menu-appear{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.menu-row{gap:10px;margin-bottom:14px;display:flex}.menu-row:last-child{margin-bottom:2px}.menu-swatch{cursor:pointer;-webkit-tap-highlight-color:transparent;border:1.5px solid #4a51581f;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .15s}.menu-swatch:active{transform:scale(.9)}.menu-swatch--on{box-shadow:0 0 0 2px var(--ink);border-color:#fffffff2}.menu-swatch--empty{background:#ffffff80;border-style:dashed;border-color:#4a51584d}.menu-swatch--spoit{color:#4a51588c;justify-content:center;align-items:center;padding:0;display:flex}.menu-swatch--spoit svg{width:15px;height:15px;display:block}@media (prefers-reduced-motion:reduce){.menu-pop,.menu-appear{animation:none}}.poolside{z-index:15;width:var(--side-width);padding:calc(20px + env(safe-area-inset-top)) 8px calc(16px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--paper) 72%, white);-webkit-backdrop-filter:blur(8px);transition:transform var(--side-slide) cubic-bezier(.22, .9, .3, 1);border-left:1px solid #4a515814;flex-direction:column;align-items:center;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(calc(100% + 22px));box-shadow:-10px 0 28px #4a515814}.poolside--open{transform:none}.poolside__label{writing-mode:vertical-rl;letter-spacing:.28em;color:#4a515880;margin-top:44px;margin-bottom:14px;font-size:11px}.poolside__shelf{flex-direction:column;flex:1;align-items:center;gap:18px;width:100%;padding:8px 0;display:flex;overflow:hidden auto}.poolside__empty{writing-mode:vertical-rl;letter-spacing:.2em;color:#4a51584d;margin-top:18px;font-size:11px}.poolside__thumb{appearance:none;width:var(--side-thumb);height:var(--side-thumb);cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;padding:0}.poolside__thumb:nth-child(odd){transform:rotate(-4deg)}.poolside__thumb:nth-child(2n){transform:rotate(3deg)}.poolside__thumb img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 3px 5px #4a51582e);width:100%;height:100%}.poolside__thumb--dragging{opacity:.25}.poolside__close{color:#4a515899;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fffffff2;border:none;border-radius:50%;width:28px;height:28px;padding:0;font-size:14px;line-height:1;position:absolute;top:50%;left:-14px;transform:translateY(-50%);box-shadow:0 3px 10px #4a515829}.poolside__ghost{z-index:30;object-fit:contain;pointer-events:none;filter:drop-shadow(0 12px 14px #4a515838);width:76px;height:76px;position:fixed;transform:translate(-50%,-50%)rotate(-4deg)scale(1.05)}@media (prefers-reduced-motion:reduce){.poolside{transition:none}}.app{height:100%;position:relative}.prep-hint{top:calc(24px + env(safe-area-inset-top));z-index:18;white-space:nowrap;font-family:var(--font-rounded);color:var(--ink);pointer-events:none;background:#ffffffd9;border-radius:999px;padding:8px 18px;font-size:12px;animation:.25s .4s both prep-hint-in;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #4a515824}@keyframes prep-hint-in{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)}}.spoit-veil{z-index:20;cursor:crosshair;position:fixed;inset:0}.spoit-hint{top:calc(24px + env(safe-area-inset-top));appearance:none;cursor:pointer;white-space:nowrap;font-family:var(--font-rounded);color:var(--ink);background:#ffffffd9;border:none;border-radius:999px;padding:8px 18px;font-size:12px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #4a515824}.app__logo{top:calc(20px + env(safe-area-inset-top));z-index:10;aspect-ratio:900/361;background-color:var(--pool-blue);background-image:var(--pool-pattern);pointer-events:none;-webkit-user-select:none;user-select:none;transform-origin:42% 62%;height:66px;position:fixed;left:20px;-webkit-mask:url(/logo.png) 50%/contain no-repeat;mask:url(/logo.png) 50%/contain no-repeat}.app__logo--wobble{animation:.9s ease-in-out logo-wobble}@keyframes logo-wobble{0%{transform:none}22%{transform:rotate(2.4deg)scale(1.03,.965)}48%{transform:rotate(-1.9deg)scale(.975,1.025)}74%{transform:rotate(1deg)scale(1.012,.99)}to{transform:none}}@media (prefers-reduced-motion:reduce){.app__logo--wobble{animation:none}}.app__intro{text-align:center;max-width:420px;font-family:var(--font-rounded);color:#4a51588c;pointer-events:none;margin:0 auto;font-size:14px;line-height:1.9;animation:.8s .3s both app-intro-in;position:fixed;top:50%;left:24px;right:24px;transform:translateY(-50%)}.app__intro p{margin:0 0 4px}.app__intro-name{color:#4a5158bf;letter-spacing:.08em;font-size:16px}.app__intro a{pointer-events:auto;color:var(--pool-blue);margin-top:10px;font-size:12px;text-decoration:none;display:inline-block}@keyframes app-intro-in{0%{opacity:0;transform:translateY(calc(6px - 50%))}to{opacity:1;transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.app__intro{animation:none}}.public-empty{text-align:center;font-family:var(--font-rounded);color:#4a515880;margin:0;font-size:15px;animation:.6s .2s both public-empty-in;position:fixed;top:50%;left:0;right:0;transform:translateY(-50%)}@keyframes public-empty-in{0%{opacity:0;transform:translateY(calc(6px - 50%))}to{opacity:1;transform:translateY(-50%)}}@media (prefers-reduced-motion:reduce){.public-empty{animation:none}}
