@layer components{.mm-stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;padding:0;overflow:hidden}.mm-stage:active{cursor:grabbing}.mm-canvas{display:block}.mm-goal{letter-spacing:-.01em;color:#fff;white-space:nowrap;background:#0c101c80;border-radius:11px;padding:6px 11px;font-size:13.5px;font-weight:700}.mm-stage .lr-label{background:#0c101c80;border-radius:11px;padding:6px 11px}.mm-layer{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.mm-bub{opacity:0;will-change:transform;transition:opacity .16s;position:absolute;top:0;left:0}.mm-bub span{min-width:38px;font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.03em;text-align:center;color:#fff;border-radius:9px;padding:3px 9px 4px;font-size:21px;font-weight:800;line-height:1.1;display:block;box-shadow:0 3px #00000038,0 8px 18px -6px #00000073}.mm-bub:after{content:"";z-index:-1;border-radius:2px;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;translate:-50%;rotate:45deg}.mm-me span,.mm-me:after{background:#2f52f0}.mm-foe span,.mm-foe:after{background:#e2361f}.mm-foe span{font-size:18px}.mm-bump span{animation:mm-bump .26s var(--ease-out)}@keyframes mm-bump{30%{scale:1.28 .86}60%{scale:.94 1.08}}.mm-step{opacity:0;font-family:var(--font-display), system-ui, sans-serif;color:#fff;background:#0c101c8c;border-radius:8px;padding:2px 9px;font-size:17px;font-weight:800;transition:opacity .2s;position:absolute;top:0;left:0}.mm-pop{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.04em;color:#fff;text-shadow:2px 2px #10205a,-2px 2px #10205a,2px -2px #10205a,-2px -2px #10205a,0 2px #10205a,0 -2px #10205a,2px 0 #10205a,-2px 0 #10205a,0 5px #10205a80;animation:mm-pop .9s var(--ease-out) both;font-size:42px;font-weight:800;position:absolute;translate:-50% -150%}.mm-good{color:#fff}.mm-bad{color:#ff4d66;text-shadow:2px 2px #4a0612,-2px 2px #4a0612,2px -2px #4a0612,-2px -2px #4a0612,0 2px #4a0612,0 -2px #4a0612,2px 0 #4a0612,-2px 0 #4a0612,0 5px #4a061280}@keyframes mm-pop{0%{opacity:0;transform:translateY(10px)scale(.6)}15%{opacity:1;transform:translateY(-14px)scale(1.15)}70%{opacity:1}to{opacity:0;transform:translateY(-90px)scale(1)}}.mm-ready{z-index:3;left:50%;bottom:max(22px, env(safe-area-inset-bottom));pointer-events:none;text-align:center;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c101c9e;border-radius:20px;flex-direction:column;align-items:center;width:min(340px,100% - 32px);padding:14px 18px 12px;display:flex;position:absolute;translate:-50%}.mm-name{font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.035em;font-size:26px;font-weight:800}.mm-note{opacity:.92;margin-top:2px;font-size:15px;font-weight:600}.mm-three{color:#ffe27a;background:#ffffff14;border-radius:8px;margin-top:8px;padding:3px 10px;font-size:13px;font-weight:700}.mm-hint{width:190px;height:44px;margin-top:16px;position:relative}.mm-track{background:#ffffff8c;border-radius:2px;height:4px;position:absolute;top:20px;left:10px;right:10px}.mm-finger{background:#fff;border-radius:50%;width:32px;height:32px;animation:1.5s ease-in-out infinite alternate mm-swipe;position:absolute;top:6px;left:0;box-shadow:0 4px 14px #0000004d}@keyframes mm-swipe{0%{translate:0}to{translate:158px}}.mm-go{letter-spacing:.02em;opacity:.9;margin-top:6px;font-size:14px;font-weight:700}.mm-end{z-index:3;pointer-events:none;text-align:center;width:min(420px,100% - 32px);font-family:var(--font-display), system-ui, sans-serif;letter-spacing:-.045em;color:#fff;text-shadow:0 4px #0003,0 0 30px #0000004d;animation:mm-in .42s var(--ease-out) both;flex-direction:column;align-items:center;gap:4px;font-size:44px;font-weight:800;line-height:1;display:flex;position:absolute;top:24%;left:50%;translate:-50%}.mm-end span{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:-.01em;font-size:17px;font-weight:700}.mm-lost{color:#ffe3de}@keyframes mm-in{0%{opacity:0;scale:.7}}@media (prefers-reduced-motion:reduce){.mm-finger,.mm-pop,.mm-end,.mm-bump span{animation:none}}}
