html:has(.jg){overscroll-behavior:none;height:100%;overflow:hidden}html:has(.jg) body{overscroll-behavior:none;height:100%;overflow:hidden}.jg{color:#383838;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#efecf5;position:fixed;inset:0;overflow:hidden}.jg-sky{transition:opacity 1.2s;position:absolute;inset:0}.jg-stage{touch-action:none;position:absolute;inset:0}.jg-stage canvas{touch-action:none;width:100%;height:100%;display:block}.jg-score{left:max(24px, env(safe-area-inset-left));top:calc(max(16px, env(safe-area-inset-top)) + 48px);pointer-events:none;position:absolute}.jg-float{pointer-events:none;color:#4a4a4a;animation:.9s ease-out forwards jg-float;position:absolute;transform:translate(-50%,-100%)}@keyframes jg-float{0%{opacity:0;translate:0 8px}15%{opacity:1}to{opacity:0;translate:0 -40px}}.jg-sound{right:max(16px, env(safe-area-inset-right));top:max(16px, env(safe-area-inset-top));color:#383838;cursor:pointer;background:#ffffff73;border:1px solid #38383824;border-radius:999px;place-items:center;width:40px;height:40px;display:grid;position:absolute}.jg-sound:focus-visible,.jg-btn:focus-visible{outline-offset:3px;outline:2px solid #383838}.jg-panel{text-align:center;justify-items:center;gap:.9rem;width:min(100% - 32px,360px);display:grid;position:absolute;left:50%;transform:translate(-50%)}.jg-start{bottom:calc(max(24px, env(safe-area-inset-bottom)) + 9vh)}.jg-start h1{letter-spacing:-.04em;color:#2f2a40;font-size:clamp(2.6rem,11vw,3.6rem)}.jg-start p{color:#6d6878;font-size:.95rem}.jg-btn{font:inherit;color:#fff;cursor:pointer;background:#2f2a40;border:0;border-radius:999px;padding:.95rem 2.4rem;font-size:1.05rem;font-weight:500;transition:transform .2s}.jg-btn:hover{transform:translateY(-2px)}.jg-best{color:#6d6878;font-variant-numeric:tabular-nums;font-size:.85rem}.jg-over{background:#14121c99;place-items:center;animation:.3s ease-out jg-fade;display:grid;position:absolute;inset:0}.jg-over .jg-panel{color:#fff;position:static;transform:none}.jg-over .jg-label{text-transform:uppercase;letter-spacing:.3em;opacity:.7;font-size:.75rem}.jg-over .jg-best{color:#ffffffb3;margin-bottom:1.5rem}.jg-over .jg-btn{color:#2f2a40;background:#fff}.jg-over .wait,.jg-over .wait-note{text-align:left;margin-top:1.5rem}@keyframes jg-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.jg-sky,.jg-btn{transition:none}}
