.playful-game.g2r-app{--play-accent:#d9583a;--play-shadow:#c98c58;--play-soft:#ffe8cf;--play-ink:#3b2f4a;--g2r-teal:#2f6178;background:radial-gradient(ellipse at 50% 18%,#fff6e2 0,#ffdcb0 46%,#f2a985 100%);touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overflow:hidden;overflow:clip;height:100dvh}.g2r-app .g2r-scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.g2r-app .pp-lobby{--pp-accent:#ffc94a;--pp-font:Playful,"Avenir Next",sans-serif}.g2r-app .g2r-hud{position:absolute;top:max(10px,env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:stretch;gap:8px;width:max-content;max-width:calc(100vw - 16px);pointer-events:none}.g2r-app:is([data-phase=menu],[data-phase=loading],[data-phase=lobby],[data-phase=results]) :is(.g2r-hud,.g2r-bar){visibility:hidden}.g2r-app .g2r-stat{flex:0 0 auto;min-width:78px;display:flex;flex-direction:column;justify-content:center;padding:3px 12px;border:3px solid #fff;border-radius:16px;background:rgba(255,251,240,.92);box-shadow:0 4px 0 var(--play-shadow)}.g2r-app .g2r-stat span{font-size:11.5px;font-weight:800;color:#8a6a55;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.g2r-app .g2r-stat b{font-size:23px;line-height:1.05;color:var(--play-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.g2r-app .g2r-stat b.bump{animation:g2r-bump .28s ease-out}.g2r-app[data-mp="0"] :is(.g2r-stat-time,.g2r-party-btn),.g2r-app[data-mp="1"] :is(.g2r-stat-best,.g2r-undo){display:none}.g2r-app.g2r-urgent .g2r-stat-time{background:#ffe0d6;animation:g2r-pulse .5s ease-in-out infinite alternate}.g2r-app.g2r-urgent .g2r-stat-time b{color:#cf2b1d}.g2r-app .g2r-hud-btns{display:flex;align-self:center;gap:6px;pointer-events:auto}.g2r-app .g2r-icon-btn{position:relative;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;padding:0;border:3px solid #fff;border-radius:13px;background:var(--play-paper);color:var(--play-ink);box-shadow:0 3px 0 var(--play-shadow)}.g2r-app .g2r-icon-btn:disabled{opacity:.45;cursor:default}.g2r-app .g2r-icon-btn .off,.g2r-app .g2r-icon-btn[aria-pressed=true] .on{display:none}.g2r-app .g2r-icon-btn[aria-pressed=true] .off{display:inline}.g2r-app .g2r-undo i{position:absolute;top:-7px;right:-7px;min-width:19px;height:19px;padding:0 4px;border-radius:999px;border:2px solid #fff;background:var(--play-accent);color:#fff;font:800 11px/15px Playful,sans-serif;font-style:normal}.g2r-app .g2r-ladder{position:absolute;z-index:5;margin:0;padding:6px;list-style:none;display:none;gap:5px;top:calc(max(10px, env(safe-area-inset-top, 0px)) + 66px);right:max(12px,env(safe-area-inset-right,0px));width:224px;flex-direction:column;border:3px solid #fff;border-radius:18px;background:rgba(255,251,240,.88);box-shadow:0 4px 0 var(--play-shadow)}.g2r-app.g2r-has-ladder:is([data-phase=play],[data-phase=countdown],[data-phase=over],[data-phase=paused]) .g2r-ladder{display:flex}.g2r-app .g2r-rung{display:grid;grid-template-columns:22px 40px 1fr auto;grid-template-rows:auto auto;grid-column-gap:7px;column-gap:7px;align-items:center;padding:4px 6px;border-radius:12px;background:#fff;transition:transform .25s,opacity .25s}.g2r-app .g2r-rung.me{background:#fff1d1;box-shadow:inset 0 0 0 2px var(--play-accent)}.g2r-app .g2r-rung.out{opacity:.5;filter:grayscale(.7)}.g2r-app .g2r-rung.won{box-shadow:inset 0 0 0 2px #e9b100;background:#fff6c4}.g2r-app .g2r-rung.hit{animation:g2r-hit .5s ease-out}.g2r-app .g2r-rung.send{animation:g2r-send .5s ease-out}.g2r-app .g2r-rung-place{grid-row:1/3;font-weight:800;font-size:14px;color:#8a6a55;text-align:center}.g2r-app .g2r-rung canvas{grid-row:1/3;width:40px;height:40px;border-radius:6px}.g2r-app .g2r-rung.me canvas{display:none}.g2r-app .g2r-rung.me{grid-template-columns:22px 0 1fr auto;column-gap:4px}.g2r-app .g2r-rung-name{grid-column:3;font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g2r-app .g2r-rung-score{grid-column:3;font-size:12px;font-weight:700;color:#8a6a55;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.g2r-app .g2r-rung-tile{grid-column:4;grid-row:1/3;min-width:44px;padding:4px 6px;border-radius:9px;text-align:center;background:#e8ddd0;color:#fff;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-shadow:0 1px 0 rgba(0,0,0,.25)}.g2r-app .g2r-rung-tile.dark{color:#7a5634;text-shadow:none}.g2r-app .g2r-bar{position:absolute;left:50%;bottom:max(12px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:4;pointer-events:none;padding:6px 14px;border-radius:999px;background:rgba(59,47,74,.55);color:#fff8ec;font-size:13.5px;font-weight:700;white-space:nowrap}.g2r-app .g2r-swipe{display:none}@media (hover:none),(pointer:coarse){.g2r-app .g2r-keys{display:none}.g2r-app .g2r-swipe{display:inline}}.g2r-app[data-phase=play] .g2r-bar{animation:g2r-fade 6s ease-in forwards}.g2r-app .g2r-countdown{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:6;pointer-events:none;text-align:center;width:max-content;max-width:94vw;font:800 clamp(44px,12vw,112px)/1 Playful,Avenir Next,sans-serif;color:#fffbed;-webkit-text-stroke:3px var(--play-accent);paint-order:stroke fill;text-shadow:0 6px 0 var(--play-accent)}.g2r-app .g2r-countdown:empty{display:none}.g2r-app .g2r-countdown.tick{animation:g2r-count .55s ease-out}.g2r-app .g2r-toast{position:absolute;left:50%;bottom:calc(max(12px, env(safe-area-inset-bottom, 0px)) + 48px);z-index:7;pointer-events:none;transform:translate(-50%,10px);opacity:0;padding:7px 16px;border:3px solid #fff;border-radius:999px;white-space:nowrap;background:var(--play-paper);color:var(--play-ink);font-size:17px;font-weight:800;box-shadow:0 4px 0 var(--play-shadow);transition:opacity .18s,transform .18s}.g2r-app .g2r-toast.show{opacity:1;transform:translate(-50%)}.g2r-app .g2r-toast[data-tone=bad]{background:#ffe1dc;color:#b0261b}.g2r-app .g2r-toast[data-tone=good]{background:#fff1b8;color:#8a5300}.g2r-app .g2r-toast[data-tone=ice]{background:#dff4ff;color:#135f8a}.g2r-app .g2r-fx{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}.g2r-app .g2r-pop{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;font:800 22px/1 Playful,Avenir Next,sans-serif;color:#fffbed;-webkit-text-stroke:4px #6a3a12;paint-order:stroke fill;animation:g2r-pop .8s ease-out forwards}.g2r-app .g2r-pop-gold{color:#ffd23f;font-size:28px}.g2r-app .g2r-pop-ice{color:#bfeaff;-webkit-text-stroke-color:#0f4a66;font-size:22px}.g2r-app .g2r-flash{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0}.g2r-app .g2r-flash[data-tone=ice]{background:radial-gradient(ellipse at center,transparent 45%,rgba(120,210,255,.55))}.g2r-app .g2r-flash[data-tone=gold]{background:radial-gradient(ellipse at center,transparent 50%,rgba(255,200,40,.45))}.g2r-app .g2r-flash.go{animation:g2r-flashk .7s ease-out}.playful-game.g2r-app .g2r-menu{background:linear-gradient(90deg,transparent 45%,rgba(120,60,40,.18));-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-end;padding-right:max(24px,4vw)}.g2r-app .g2r-panel{width:min(430px,100%);text-align:center;padding:20px 20px 16px}.g2r-app .g2r-kicker{display:block;color:#a8714b;font-size:12px;font-weight:800;letter-spacing:.12em}.g2r-app .g2r-logo{margin:2px 0 6px;font:800 clamp(40px,7vw,56px)/1 Playful,Avenir Next,sans-serif;color:#fffbed;-webkit-text-stroke:2px var(--play-accent);paint-order:stroke fill;text-shadow:0 5px 0 var(--play-accent);transform:rotate(-2deg)}.g2r-app .g2r-sub{margin:0 0 8px;font-size:14px;line-height:1.4}.g2r-app .g2r-panel h2.g2r-label{margin:10px 0 6px;font-size:13px;line-height:1.2;font-weight:800;color:#8a6a55;text-transform:uppercase;letter-spacing:.06em;text-align:left}.g2r-app .g2r-cards{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px}.g2r-app .g2r-card{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;min-height:44px;padding:7px 4px 6px;border:2px solid #ead2b8;border-radius:14px;background:#fff;color:var(--play-ink);cursor:pointer;transition:transform .12s,border-color .12s}.g2r-app .g2r-card:hover{transform:translateY(-2px)}.g2r-app .g2r-card[aria-checked=true]{border-color:var(--play-accent);background:var(--play-soft);box-shadow:0 3px 0 var(--play-shadow)}.g2r-app .g2r-card-icon{display:grid;place-items:center;height:30px;font-size:24px;line-height:1}.g2r-app .g2r-card b{font-size:13px;line-height:1.15;font-weight:800}.g2r-app .g2r-card small{font-size:10.5px;line-height:1.15;color:#8a6a55}.g2r-app .g2r-chips{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:5px;gap:5px;padding:4px;border-radius:14px;background:var(--play-soft)}.g2r-app .g2r-chip{min-height:44px;padding:8px 4px;border:0;border-radius:10px;background:transparent;color:var(--play-ink);font-size:16px;font-weight:800;cursor:pointer}.g2r-app .g2r-chip[aria-checked=true]{background:#fff;color:var(--play-accent);box-shadow:0 3px 0 var(--play-shadow)}.g2r-app .g2r-chip:disabled{opacity:.35;cursor:not-allowed}.g2r-app:not(:is([data-mode=race],[data-mode=versus])) .g2r-bots{display:none}.g2r-app .g2r-best-line{margin:10px 0 8px;font-size:15px;font-weight:700;color:#8a6a55}.g2r-app .g2r-best-line b{color:var(--play-accent);font-size:19px}.g2r-app:is([data-mode=race],[data-mode=versus]) .g2r-best-line{visibility:hidden;height:0;margin:4px 0}.g2r-app .g2r-settings{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;margin-top:12px}.g2r-app .g2r-setting{min-height:44px;padding:7px 6px;border:2px solid #ead2b8;border-radius:12px;background:#fff;color:var(--play-ink);font-size:13.5px;font-weight:700;cursor:pointer}.g2r-app .g2r-setting[aria-pressed=false]{color:#a08876}.playful-game.g2r-app :is(.g2r-paused,.g2r-results){background:rgba(70,40,30,.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.g2r-app .g2r-card-panel{width:min(430px,100%);text-align:center}.g2r-app .g2r-title{margin:0 0 16px;color:var(--play-accent);font-size:30px}.g2r-app .g2r-r-score{margin:4px 0 0;font:800 60px/1 Playful,Avenir Next,sans-serif;color:var(--play-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.g2r-app .g2r-r-new{display:none;margin:8px auto 0;width:-moz-fit-content;width:fit-content;padding:4px 14px;border-radius:999px;background:#ffd45e;color:#7a4a0a;font-weight:800;font-size:16px;box-shadow:0 3px 0 #bb842e}.g2r-app .g2r-r-new.show{display:block;animation:g2r-bump .6s ease-out}.g2r-app .g2r-r-best{margin:8px 0 10px;font-size:15px;font-weight:700;color:#8a6a55}.g2r-app .g2r-r-best[hidden]{display:none}.g2r-app .g2r-r-stats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;margin:8px 0 12px;padding:0}.g2r-app .g2r-r-stats li{display:flex;flex-direction:column;padding:8px 2px;border-radius:14px;background:var(--play-soft)}.g2r-app .g2r-r-stats b{font-size:20px;color:var(--play-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.g2r-app .g2r-r-stats span{font-size:11.5px;font-weight:700;color:#8a6a55;line-height:1.15}.g2r-app .g2r-r-table{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-gap:4px;gap:4px}.g2r-app .g2r-r-table[hidden]{display:none}.g2r-app .g2r-r-table li{display:grid;grid-template-columns:30px 1fr 58px 70px;align-items:center;grid-gap:6px;gap:6px;padding:5px 8px;border-radius:12px;background:#fff;font-weight:700;text-align:left}.g2r-app .g2r-r-table li.me{background:#fff1d1;box-shadow:inset 0 0 0 2px var(--play-accent)}.g2r-app .g2r-r-table .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.g2r-app .g2r-r-table i{font-style:normal;font-size:11px;padding:1px 5px;border-radius:6px;background:#ffd8d2;color:#a3261b}.g2r-app .g2r-r-table b{padding:2px 4px;border-radius:8px;color:#fff;text-align:center;font-size:13px;text-shadow:0 1px 0 rgba(0,0,0,.25)}.g2r-app .g2r-r-table li>span:last-child{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#8a6a55}.g2r-app .g2r-r-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;align-items:stretch}.g2r-app .g2r-r-row>*{margin-top:12px;width:100%;font-size:15px}.g2r-app .g2r-r-row .share-btn[hidden]{display:none}.g2r-app .g2r-r-row:has(.share-btn[hidden]){grid-template-columns:1fr}@media (max-width:899px){.playful-game.g2r-app .g2r-menu{align-items:center;justify-content:flex-start;padding:0 10px 14px;background:linear-gradient(180deg,transparent 28%,rgba(120,60,40,.22) 60%)}.g2r-app .g2r-menu:before{content:"";display:block;flex:0 0 auto;height:max(190px,34dvh)}.g2r-app .g2r-panel{padding:14px 12px 12px;border-radius:24px}.g2r-app .g2r-logo{font-size:40px}}@media (max-aspect-ratio:4/5),(max-width:700px){.g2r-app .g2r-ladder{top:calc(max(8px, env(safe-area-inset-top, 0px)) + 58px);left:8px;right:8px;width:auto;flex-direction:row;overflow-x:auto;padding:4px;border-radius:14px}.g2r-app .g2r-rung{flex:0 0 auto;grid-template-columns:30px auto;grid-template-rows:auto auto;column-gap:5px;row-gap:1px;padding:3px 6px 3px 4px}.g2r-app .g2r-rung-place{display:none}.g2r-app .g2r-rung canvas{width:30px;height:30px;grid-row:1/3}.g2r-app .g2r-rung.me{grid-template-columns:auto}.g2r-app .g2r-rung-name{grid-column:2;font-size:11px;max-width:64px}.g2r-app .g2r-rung.me .g2r-rung-name{grid-column:1}.g2r-app .g2r-rung-score{display:none}.g2r-app .g2r-rung-tile{grid-column:2;grid-row:2;min-width:0;padding:1px 5px;font-size:11.5px;border-radius:6px}.g2r-app .g2r-rung.me .g2r-rung-tile{grid-column:1}}@media (max-width:480px){.g2r-app .g2r-hud{gap:5px}.g2r-app .g2r-stat{min-width:0;padding:3px 8px;border-width:2px}.g2r-app .g2r-stat span{font-size:10px;letter-spacing:0}.g2r-app .g2r-stat b{font-size:19px}.g2r-app .g2r-icon-btn{width:40px;height:40px;border-width:2px}.g2r-app .g2r-card small{display:none}.g2r-app .g2r-card b{font-size:12px}.g2r-app .g2r-r-score{font-size:50px}.g2r-app .g2r-r-stats b{font-size:17px}}@media (max-height:500px) and (min-aspect-ratio:4/5){.g2r-app .g2r-hud{left:max(10px,env(safe-area-inset-left,0px));transform:none;flex-direction:column;gap:5px}.g2r-app .g2r-stat{padding:2px 10px}.g2r-app .g2r-stat b{font-size:18px}.g2r-app .g2r-hud-btns{flex-wrap:wrap;width:94px}.g2r-app .g2r-ladder{top:max(8px,env(safe-area-inset-top,0px));width:170px;left:auto;right:max(8px,env(safe-area-inset-right,0px));flex-direction:column;overflow-y:auto;max-height:calc(100dvh - 16px)}.g2r-app .g2r-rung{grid-template-columns:30px 1fr auto}.g2r-app .g2r-rung-place,.g2r-app .g2r-rung-score{display:none}.g2r-app .g2r-rung canvas{width:30px;height:30px}.g2r-app .g2r-rung-name{grid-column:2}.g2r-app .g2r-rung-tile{grid-column:3;grid-row:1/3;min-width:38px;font-size:12px}.g2r-app .g2r-rung.me{grid-template-columns:1fr auto}.g2r-app .g2r-rung.me .g2r-rung-name{grid-column:1}.g2r-app .g2r-rung.me .g2r-rung-tile{grid-column:2}.g2r-app .g2r-bar{display:none}.g2r-app .g2r-toast{top:max(8px,env(safe-area-inset-top,0px));bottom:auto}.playful-game.g2r-app .g2r-menu{align-items:flex-end;justify-content:flex-start;padding:8px 10px;background:linear-gradient(90deg,transparent 40%,rgba(120,60,40,.2))}.g2r-app .g2r-menu:before{display:none}.g2r-app .g2r-panel{width:min(400px,56vw);padding:10px 12px}.g2r-app .g2r-logo{font-size:32px}.g2r-app .g2r-sub{display:none}.playful-game.g2r-app .overlay{padding-top:10px;padding-bottom:10px}}@keyframes g2r-pop{0%{opacity:0;transform:translate(-50%,-60%) scale(.6)}15%{opacity:1;transform:translate(-50%,-110%) scale(1.12)}to{opacity:0;transform:translate(-50%,-230%) scale(1)}}@keyframes g2r-count{0%{transform:translate(-50%,-50%) scale(1.5);opacity:0}30%{transform:translate(-50%,-50%) scale(.95);opacity:1}to{transform:translate(-50%,-50%) scale(1)}}@keyframes g2r-bump{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes g2r-pulse{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes g2r-flashk{0%{opacity:1}to{opacity:0}}@keyframes g2r-fade{0%,70%{opacity:1}to{opacity:0}}@keyframes g2r-hit{0%{background:#bfeaff;transform:translateX(-4px)}to{background:#fff;transform:none}}@keyframes g2r-send{0%{background:#ffe6a6;transform:scale(1.04)}to{transform:none}}