*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}html{touch-action:manipulation}body{margin:0;background:#fbfaf6;color:#1c1b19;font-family:Nunito,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit}#root{display:flex;justify-content:center;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-frame{width:100%;max-width:440px;min-height:100dvh;display:flex;flex-direction:column;background:#fbfaf6;overflow-x:clip}.ig-has-pro{--ig-pro-height: 48px;padding-top:var(--ig-pro-height)}.ig-pro-bar{position:fixed;z-index:25;top:0;left:env(safe-area-inset-left);right:env(safe-area-inset-right);max-width:440px;margin-inline:auto;display:flex;align-items:center;justify-content:flex-end;height:calc(var(--ig-pro-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0;background:#fbfaf6;border-bottom:1px solid #E9E6DC}.ig-pro-control{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:transparent;color:#1c1b19;cursor:pointer;font-weight:800}.ig-pro-label{padding:5px 10px;border-radius:999px;background:#1c1b19;color:#fff}.ig-pro-count{font-variant-numeric:tabular-nums}.ig-turn-transition{flex:1;min-height:0;max-height:calc(100dvh - var(--ig-pro-height, 0px));padding-top:env(safe-area-inset-top);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding-inline:20px;padding-bottom:env(safe-area-inset-bottom);text-align:center}.ig-pass-bar{width:min(100%,260px)}.ig-move-scoreboard{justify-content:safe center;overflow-y:auto;gap:clamp(18px,4dvh,34px);padding-block:calc(env(safe-area-inset-top) + 14px) calc(env(safe-area-inset-bottom) + 14px)}.ig-move-scores{width:100%;flex:none}.ig-move-lanes{display:grid;gap:12px;margin:clamp(18px,4dvh,30px) 0 0;padding:0;list-style:none;text-align:left}.ig-move-lane{padding:clamp(12px,2.5dvh,22px);border-radius:20px}.ig-move-lane-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ig-move-lane strong{min-width:0;overflow-wrap:anywhere;font:700 22px/1.1 Fredoka,sans-serif}.ig-move-set-count{white-space:nowrap;font:700 clamp(28px,8vw,38px)/1 Fredoka,sans-serif;font-variant-numeric:tabular-nums}.ig-move-lane small{font-size:14px}.ig-move-leader{display:inline-block;font-size:24px}.ig-move-lane[data-leading]{box-shadow:inset 0 0 0 2px var(--ig-race-fill);animation:ig-move-lead .48s .3s ease-out both}.ig-move-meter{display:flex;align-items:center;gap:8px;margin-top:10px}.ig-move-percentage{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.ig-move-track{flex:1;height:12px;background:#ffffffc9;border-radius:999px;overflow:hidden}.ig-move-track>span{display:block;height:100%;background:var(--ig-race-fill);border-radius:inherit;transform-origin:left;animation:ig-move-fill .45s cubic-bezier(.2,.8,.25,1) both}@keyframes ig-move-fill{0%{transform:scaleX(.08)}to{transform:scaleX(1)}}@keyframes ig-move-lead{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}.ig-turn-content{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(12px,2.3dvh,22px);padding:calc(env(safe-area-inset-top) + 16px) 20px 18px}.ig-turn-content>*{flex-shrink:0}.ig-turn-options{position:relative;margin:-10px -10px -10px 0}.ig-turn-options[open]{z-index:4}.ig-turn-options>summary{display:grid;place-items:center;width:44px;height:44px;list-style:none;border-radius:12px;font:800 24px/1 Nunito,sans-serif;cursor:pointer}.ig-turn-options>summary::-webkit-details-marker{display:none}.ig-turn-options-panel{position:absolute;top:100%;right:4px;background:#fff;border-radius:999px;white-space:nowrap}@supports not (overflow-x: clip){.app-frame{overflow-x:hidden}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@keyframes igyg-pulse{0%,to{box-shadow:0 0 rgba(var(--pulse-rgb, 240,96,60),.45)}50%{box-shadow:0 0 0 14px rgba(var(--pulse-rgb, 240,96,60),0)}}@keyframes igyg-bounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-7px);opacity:1}}.igyg-pulse{animation:igyg-pulse 1.8s ease-in-out infinite}.igyg-bounce{animation:igyg-bounce 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,.igyg-pulse,.igyg-bounce{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}:root{--ig-ease-out: cubic-bezier(.22, 1, .36, 1);--ig-ease-in-out: cubic-bezier(.65, 0, .35, 1);--ig-ease-spring: cubic-bezier(.2, 1.5, .35, 1);--ig-dur-fast: .12s;--ig-dur-base: .2s;--ig-dur-slow: .36s;--ig-scrim: rgba(28, 27, 25, .42);--ig-z-sheet: 55;--ig-z-celebrate: 80;--ig-z-toast: 90}.ig-key{--key-depth: 6px;position:relative;display:inline-flex;flex-direction:column;height:calc(var(--key-h) + var(--key-depth));padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:999px;flex-shrink:0}.ig-key-block{display:flex;width:100%}.ig-key-shadow,.ig-key-slab{position:absolute;left:0;right:0;top:var(--key-depth);bottom:0;border-radius:999px}.ig-key-shadow{background:#1c1b1947;filter:blur(3px);transform:translateY(4px);transition:transform var(--ig-dur-fast) var(--ig-ease-out)}.ig-key-slab{background:var(--key-slab)}.ig-key-face{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;height:calc(100% - var(--key-depth));padding:0 var(--key-px);background:var(--key-face);color:var(--key-fg);border-radius:999px;font-family:Fredoka,system-ui,sans-serif;font-weight:600;white-space:nowrap;box-shadow:inset 0 2px #ffffff38;transition:transform var(--ig-dur-fast) var(--ig-ease-out)}.ig-key-face>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.ig-key:not([data-pressed]):not(:disabled) .ig-key-face{transition:transform .26s var(--ig-ease-spring)}.ig-key[data-pressed] .ig-key-face,.ig-key:disabled .ig-key-face{transform:translateY(calc(var(--key-depth) - 1px))}.ig-key[data-pressed] .ig-key-shadow,.ig-key:disabled .ig-key-shadow{transform:translateY(1px)}.ig-key:disabled{cursor:default;opacity:.45}.ig-key:focus-visible{outline:3px solid var(--key-slab);outline-offset:3px}@media(prefers-reduced-motion:reduce){.ig-key-face,.ig-key-shadow,.ig-key:not([data-pressed]):not(:disabled) .ig-key-face{transition:none}}@keyframes ig-roll-in-up{0%{transform:translateY(80%);filter:blur(2.5px);opacity:.3}58%{transform:translateY(-9%);filter:blur(0);opacity:1}80%{transform:translateY(3%)}to{transform:none;filter:none;opacity:1}}@keyframes ig-roll-in-down{0%{transform:translateY(-80%);filter:blur(2.5px);opacity:.3}58%{transform:translateY(9%);filter:blur(0);opacity:1}80%{transform:translateY(-3%)}to{transform:none;filter:none;opacity:1}}@keyframes ig-roll-out-up{to{transform:translateY(-80%);filter:blur(2.5px);opacity:0}}@keyframes ig-roll-out-down{to{transform:translateY(80%);filter:blur(2.5px);opacity:0}}.ig-roll{display:inline-grid;overflow:hidden;vertical-align:bottom}.ig-roll>span{grid-area:1 / 1;text-align:inherit;white-space:nowrap}.ig-roll-on{-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}.ig-roll [data-roll]:before{content:attr(data-roll)}.ig-roll-in-up{animation:ig-roll-in-up .46s cubic-bezier(.2,.8,.3,1) both}.ig-roll-in-down{animation:ig-roll-in-down .46s cubic-bezier(.2,.8,.3,1) both}.ig-roll-out-up{animation:ig-roll-out-up .26s cubic-bezier(.4,0,1,1) forwards}.ig-roll-out-down{animation:ig-roll-out-down .26s cubic-bezier(.4,0,1,1) forwards}.ig-step-key{touch-action:manipulation;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.ig-step-face{display:flex;align-items:center;justify-content:center;width:100%;height:100%;box-sizing:border-box;pointer-events:none;transition:transform .34s var(--ig-ease-spring)}.ig-step-key:active:not(:disabled) .ig-step-face{transform:scale(.86);transition-duration:80ms}@media(prefers-reduced-motion:reduce){.ig-roll-in-up,.ig-roll-in-down{animation:none}.ig-roll-out-up,.ig-roll-out-down{display:none}.ig-roll-on{-webkit-mask-image:none;mask-image:none}.ig-step-face,.ig-step-key:active .ig-step-face{transition:none;transform:none}}@keyframes ig-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes ig-sheet-in{0%{transform:translateY(100%)}70%{transform:translateY(-6px)}to{transform:none}}.ig-sheet-scrim{animation:ig-scrim-in var(--ig-dur-base) var(--ig-ease-out) both}.ig-sheet-panel{animation:ig-sheet-in .42s var(--ig-ease-out) both;max-height:88vh;max-height:88dvh}@media(prefers-reduced-motion:reduce){.ig-sheet-scrim,.ig-sheet-panel{animation:none}}@keyframes ig-toast-in{0%{opacity:0;transform:translateY(26px) scale(.94)}55%{opacity:1;transform:translateY(-3px) scale(1.004)}78%{transform:translateY(1px) scale(1)}to{opacity:1;transform:none}}@keyframes ig-toast-out{to{opacity:0;transform:translate(46px) scale(.94)}}@keyframes ig-toast-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.ig-toast{animation:ig-toast-in .46s cubic-bezier(.2,.7,.3,1) both}.ig-toast-out{animation:ig-toast-out .32s var(--ig-ease-in-out) forwards}.ig-toast-life{position:absolute;left:16px;right:16px;bottom:6px;height:3px;border-radius:3px;opacity:.7;transform-origin:left center;animation:ig-toast-drain linear forwards}@media(prefers-reduced-motion:reduce){.ig-toast,.ig-toast-out{animation:none}.ig-toast-out{opacity:0}.ig-toast-life{display:none}}@keyframes ig-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ig-rise{animation:ig-rise .32s var(--ig-ease-out) both}@media(prefers-reduced-motion:reduce){.ig-rise{animation:none}}@keyframes ig-flood{0%{clip-path:circle(0% at 50% 60%)}to{clip-path:circle(150% at 50% 60%)}}@keyframes ig-badge-pop{0%{transform:scale(.2) rotate(-200deg);opacity:0}60%{transform:scale(1.14) rotate(12deg);opacity:1}80%{transform:scale(.96) rotate(-4deg)}to{transform:none;opacity:1}}@keyframes ig-shine{0%{transform:translate(-140%) rotate(20deg)}to{transform:translate(240%) rotate(20deg)}}@keyframes ig-badge-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes ig-rays{to{transform:rotate(360deg)}}.ig-flood{animation:ig-flood .56s var(--ig-ease-out) both}.ig-badge{animation:ig-badge-pop .76s var(--ig-ease-out) .18s both}.ig-badge-bob{animation:ig-badge-bob 2.4s ease-in-out 1s infinite}.ig-badge-shine{position:absolute;top:-20%;bottom:-20%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:ig-shine .9s var(--ig-ease-in-out) .9s both}.ig-rays{animation:ig-rays 18s linear infinite}.ig-rise-1{animation:ig-rise .38s var(--ig-ease-out) .62s both}.ig-rise-2{animation:ig-rise .38s var(--ig-ease-out) .76s both}.ig-rise-3{animation:ig-rise .38s var(--ig-ease-out) .9s both}@media(prefers-reduced-motion:reduce){.ig-flood,.ig-badge,.ig-badge-bob,.ig-rays,.ig-rise-1,.ig-rise-2,.ig-rise-3{animation:none}.ig-badge-shine{display:none}}.avatar-figure{width:min(100%,300px);margin:0;flex:0 1 auto;min-width:0}.avatar-figure svg{display:block;width:100%;height:auto}.avatar-body{transform-origin:152px 212px}.avatar-head{transform-origin:151px 119px}.avatar-left-arm{transform-origin:128px 144px}.avatar-right-arm{transform-origin:173px 144px}[data-reaction=waiting] .avatar-body{animation:avatar-breathe 2.8s ease-in-out infinite}[data-reaction=waiting] .avatar-head{animation:avatar-look 5.6s ease-in-out infinite}[data-reaction=complete] .avatar-body{animation:avatar-jump 1s ease-out both}[data-reaction=complete] .avatar-left-arm{--arm-rest: -42deg;--arm-up: 41deg}[data-reaction=complete] .avatar-right-arm{--arm-rest: 42deg;--arm-up: -41deg}[data-reaction=complete] :is(.avatar-left-arm,.avatar-right-arm){transform:rotate(var(--arm-up));animation:avatar-cheer 1s ease-out both}.avatar-celebration{opacity:0;animation:avatar-celebration 1s ease-out both}[data-reaction=stopped] .avatar-body{transform:rotate(4deg) scaleY(.94);animation:avatar-exhale 1.4s ease-out both}[data-reaction=stopped] .avatar-head{transform:translateY(3px) rotate(10deg);animation:avatar-head-drop 1.4s ease-out both}[data-reaction=stopped] .avatar-left-arm{--arm-before-drop: 12deg}[data-reaction=stopped] .avatar-right-arm{--arm-before-drop: -12deg}[data-reaction=stopped] :is(.avatar-left-arm,.avatar-right-arm){animation:avatar-arm-drop 1.4s ease-out both}[data-reaction=catch] .avatar-body{animation:avatar-body-settle .98s ease-out both}[data-reaction=catch] .avatar-head{animation:avatar-head-nod .98s ease-out both}[data-reaction=catch] .avatar-left-arm{animation:avatar-arm-catch .98s ease-out both}.avatar-catch-baton{transform-origin:93px 137px;animation:avatar-baton-fly .98s ease-out both}.avatar-catch-spark{opacity:0;animation:avatar-catch-spark .98s linear both}@keyframes avatar-breathe{0%,to{transform:none}50%{transform:scaleY(1.018) rotate(-1deg)}}@keyframes avatar-look{0%,55%,to{transform:none}23%,34%{transform:rotate(-6deg)}}@keyframes avatar-jump{0%,to{transform:none}18%{transform:scaleY(.93)}44%{transform:translateY(-19px)}69%{transform:scaleY(.95)}84%{transform:translateY(-4px)}}@keyframes avatar-cheer{0%,18%{transform:rotate(var(--arm-rest))}44%,to{transform:rotate(var(--arm-up))}}@keyframes avatar-celebration{0%,24%,to{opacity:0}44%,62%{opacity:1}}@keyframes avatar-exhale{0%{transform:none}23%{transform:scaleY(1.025)}63%{transform:rotate(5deg) scaleY(.91)}}@keyframes avatar-head-drop{0%,24%{transform:none}65%{transform:translateY(5px) rotate(13deg)}}@keyframes avatar-arm-drop{0%,22%{transform:rotate(var(--arm-before-drop))}64%,to{transform:none}}@keyframes avatar-body-settle{0%{transform:rotate(-2deg)}48%{transform:rotate(-4deg)}65%{transform:rotate(3deg) scaleY(.98)}83%{transform:rotate(-1deg)}to{transform:none}}@keyframes avatar-head-nod{0%{transform:rotate(-5deg)}48%{transform:rotate(-3deg)}69%{transform:translateY(3px) rotate(5deg)}to{transform:none}}@keyframes avatar-arm-catch{0%{transform:rotate(-38deg)}35%,48%{transform:none}64%{transform:rotate(-20deg)}to{transform:none}}@keyframes avatar-baton-fly{0%{transform:translate(-132px,-80px) rotate(-210deg)}27%{transform:translate(-50px,-43px) rotate(-85deg)}48%,to{transform:none}}@keyframes avatar-catch-spark{0%,47%,71%,to{opacity:0}50%,56%{opacity:1}}.avatar-figure[data-settled] svg *{animation:none}@media(prefers-reduced-motion:reduce){.avatar-figure[data-reaction] svg *{animation:none}}
