:root{--boards: #15384f;--boards-line: #2d5570;--ice: #edf5f8;--ice-shade: #dfeaf0;--paint-blue: #9abcdd;--paint-red: #e9abac;--paint-white: #f5f9fb;--ink: #15384f;--pale: #d9e7ee;--stone-yellow: #fcc419;--stone-red: #e03131;--granite: #8a949c;--target: #f76707;color-scheme:light;font-family:"M PLUS Rounded 1c",Hiragino Maru Gothic ProN,Yu Gothic UI,sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--boards);color:var(--pale)}.rink{position:relative;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;width:100vw;margin:0 auto;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}@media(min-width:600px){.rink{width:max(340px,calc((100dvh - 216px)*.594))}}.sheet{display:block;width:100%;height:100%;background:var(--ice);touch-action:manipulation;-webkit-user-select:none;user-select:none}.ice{fill:var(--ice)}.house circle{stroke:none}.ring-blue{fill:var(--paint-blue)}.ring-red{fill:var(--paint-red)}.ring-white{fill:var(--paint-white)}.sheet-line{stroke:var(--ink);stroke-width:1.5;opacity:.32}.back-line{stroke:var(--ink);stroke-width:4;opacity:.55}.hog-line{stroke:var(--stone-red);stroke-width:13;opacity:.55}.tick{fill:var(--ink);opacity:.22}.paint-goal{fill:var(--ink);font-size:50px;font-weight:800;letter-spacing:0;opacity:.82}.paint-goal-note{font-size:26px;font-weight:500}.paint-now{fill:var(--ink);font-size:26px;font-weight:500;opacity:.68}.paint-remain{fill:var(--ink);font-size:22px;font-weight:500;opacity:.68}.stone-body{fill:var(--granite);stroke:#fff;stroke-width:3}.stone-y .stone-cap{fill:var(--stone-yellow)}.stone-r .stone-cap{fill:var(--stone-red)}.stone.is-parked{opacity:.85}.marker{fill:var(--target);stroke:var(--ink);stroke-width:2.5;stroke-opacity:.55;pointer-events:none}.marker.is-entering{transform-box:fill-box;transform-origin:center;animation:marker-in .24s cubic-bezier(.2,1.7,.4,1) both}@keyframes marker-in{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.marker.is-entering{animation:none}}.marker-hint{fill:none;stroke:var(--ink);stroke-width:8;stroke-dasharray:15 11;animation:hint-march 1.2s linear infinite;pointer-events:none}@keyframes hint-march{to{stroke-dashoffset:-26}}@media(prefers-reduced-motion:reduce){.marker-hint{animation:none}}.target{fill:transparent;cursor:pointer;outline:none}.preview{fill:none;stroke:var(--ink);stroke-width:3;stroke-opacity:.6;stroke-dasharray:11 8;pointer-events:none}.ghost{fill:var(--stone-yellow);fill-opacity:.3;stroke:var(--ink);stroke-width:2.5;stroke-dasharray:7 5;pointer-events:none}.ghost[data-color=r]{fill:var(--stone-red)}.push-line{stroke:var(--ink);stroke-width:3;stroke-opacity:.6;stroke-dasharray:11 8;pointer-events:none}.exit-arrow path{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.exit-arrow-rim{stroke:#fff;stroke-width:16}.exit-arrow-granite{stroke:var(--granite);stroke-width:12}.exit-arrow-core{stroke:var(--stone-yellow);stroke-width:7}.exit-arrow[data-color=r] .exit-arrow-core{stroke:var(--stone-red)}.exit-arrow-move{animation:exit-nudge .7s ease-in-out infinite alternate}@keyframes exit-nudge{0%{transform:translateY(3px)}to{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.exit-arrow-move{animation:none}}.zone{fill-opacity:.16;stroke-opacity:.45;stroke-width:2;pointer-events:none}.zone[data-color=y]{fill:var(--stone-yellow);stroke:var(--stone-yellow)}.zone[data-color=r]{fill-opacity:.12;fill:var(--stone-red);stroke:var(--stone-red)}.trail{fill:none;stroke:#9fc4d8;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:.55;pointer-events:none}.trail[data-color=y]{stroke:#f2b705;opacity:.5}.trail[data-color=r]{stroke:#e03131;opacity:.38}.impact{fill:none;stroke:#fff;stroke-width:7;pointer-events:none}.count-ring{fill:none;stroke:var(--stone-yellow);stroke-width:8;opacity:0;transform-box:fill-box;transform-origin:center;animation:count-ring .62s ease-out both;pointer-events:none}.count-number{fill:var(--ink);font-size:40px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:var(--paint-white);stroke-width:8px;stroke-linejoin:round;transform-box:fill-box;transform-origin:center;animation:count-number .3s cubic-bezier(.2,1.6,.4,1) both;pointer-events:none}.stone.is-counted .stone-body,.stone.is-counted .stone-cap{transform-box:fill-box;transform-origin:center;animation:stone-pop .3s cubic-bezier(.2,1.6,.4,1)}.count-glow{fill:#ffd43b;transform-box:fill-box;transform-origin:center;animation:count-glow-in .26s ease-out both,count-glow 1.4s ease-in-out .26s infinite;pointer-events:none}.stone.is-counted .stone-cap{animation:stone-pop .3s cubic-bezier(.2,1.6,.4,1),cap-shine 1.4s ease-in-out .26s infinite}.count-glow[data-color=r]{fill:#ff8787}.count-ring[data-color=r]{stroke:var(--stone-red)}.stone-r.is-counted .stone-cap{animation:stone-pop .3s cubic-bezier(.2,1.6,.4,1),cap-shine-red 1.4s ease-in-out .26s infinite}@keyframes count-glow-in{0%{opacity:0;transform:scale(.6)}to{opacity:.95;transform:scale(1.25)}}@keyframes count-glow{0%,to{opacity:.95;transform:scale(1.25)}50%{opacity:.55;transform:scale(1)}}@keyframes cap-shine-red{0%,to{fill:#ffa8a8}50%{fill:var(--stone-red)}}@keyframes cap-shine{0%,to{fill:#fff1a8}50%{fill:var(--stone-yellow)}}@keyframes count-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(var(--grow, 2.1))}}@keyframes count-number{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes stone-pop{40%{transform:scale(1.18)}}.house-wave{fill:none;stroke:var(--stone-yellow);opacity:0;transform-box:fill-box;transform-origin:center;animation:house-wave .56s ease-out both;pointer-events:none}.house-flash{fill:var(--stone-yellow);opacity:0;animation:house-flash .62s ease-out both;pointer-events:none}.sheet.is-bumped{animation:sheet-bump .3s ease-out}.shard{pointer-events:none}.shard-ice{fill:var(--paint-white);stroke:var(--paint-blue);stroke-width:1}.shard-blue{fill:var(--paint-blue)}.shard-stone{fill:var(--stone-yellow)}@keyframes house-wave{0%{opacity:0;stroke-width:22;transform:scale(.94)}25%{opacity:.95}to{opacity:0;stroke-width:3;transform:scale(1.06)}}@keyframes house-flash{0%{opacity:.55}to{opacity:0}}@keyframes sheet-bump{30%{transform:scale(1.012)}}@media(prefers-reduced-motion:reduce){.count-ring,.count-number,.stone.is-counted .stone-body,.stone.is-counted .stone-cap{animation-duration:1ms}.count-glow{animation:none;opacity:.7}.stone.is-counted .stone-cap{animation:none}}.boards{background:var(--boards);padding:8px 16px}.boards-top{position:relative;display:flex;align-items:center;justify-content:center;gap:12px}.boards-bottom{position:relative;display:grid;gap:8px;padding-bottom:12px}.level{min-width:6em;font-weight:800;font-size:1rem;text-align:center;font-variant-numeric:tabular-nums}.status{min-height:2.9em;margin:0;font-size:.9rem;line-height:1.45;word-break:auto-phrase;text-wrap:pretty}.actions{display:flex;gap:8px}button{min-height:44px;padding:0 14px;border:1.5px solid var(--boards-line);border-radius:22px;background:transparent;color:var(--pale);font:inherit;font-weight:500;cursor:pointer;transition:transform .11s ease-out}.actions button{flex:1 1 auto;min-width:0;padding:0 6px;white-space:nowrap}button:hover:not(:disabled){border-color:var(--pale)}button:focus-visible{outline:3px solid var(--stone-yellow);outline-offset:2px}button:disabled{opacity:.35;cursor:default}button.is-primary{border-color:var(--stone-yellow);background:var(--stone-yellow);color:var(--ink);font-weight:800}button:active:not(:disabled){transform:scale(.94)}button.is-unlocked{animation:hint-unlock .7s cubic-bezier(.2,1.6,.4,1) both}@keyframes hint-unlock{0%{transform:scale(.4);box-shadow:0 0 #fcc419e6}45%{transform:scale(1.15)}to{transform:scale(1);box-shadow:0 0 0 14px #fcc41900}}@media(prefers-reduced-motion:reduce){button{transition:none}button:active:not(:disabled){transform:none}button.is-unlocked{animation:none}}.corner{position:absolute;min-height:36px;padding:0 8px;border-color:transparent;font-size:.8rem}.corner-left{left:6px}.corner-right{right:6px}.dot{display:inline-block;width:8px;height:8px;margin-left:4px;border-radius:50%;background:var(--stone-yellow);vertical-align:2px}.dot[hidden]{display:none}.nav{width:44px;padding:0;border-color:transparent;font-size:1.5rem;line-height:1}.result{position:absolute;right:0;bottom:0;left:0;z-index:5;animation:result-rise .42s cubic-bezier(.2,1.2,.4,1) both}.result[hidden]{display:none}.result-body{position:relative;z-index:1;overflow-y:auto;max-height:80dvh;padding:16px 16px calc(12px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:var(--boards);box-shadow:0 -8px 24px #0f2a3c59}.result-mascot{position:absolute;top:-86px;right:20px;z-index:0;width:96px;pointer-events:none;animation:mascot-peek .56s cubic-bezier(.2,1.5,.4,1) .28s both}.result-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.result-title{margin:0;color:var(--stone-yellow);font-size:2.3rem;font-weight:800;line-height:1.15;animation:result-title .46s cubic-bezier(.2,1.6,.4,1) .12s both}.result.is-oneshot .result-title{background:linear-gradient(100deg,var(--stone-yellow) 42%,#fff5cf 50%,var(--stone-yellow) 58%) 100% 0 / 300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:result-title .46s cubic-bezier(.2,1.6,.4,1) .12s both,result-gloss .9s ease-in-out .52s both}.result-message,.result-tries,.result-note{margin:2px 0 0;font-size:.9rem;line-height:1.4;word-break:auto-phrase}.result-tries{font-weight:800}.result-note{color:var(--stone-yellow);font-weight:800;white-space:pre-line}.result-note:empty{display:none}.result-rows{display:grid;flex-shrink:0;justify-items:end;gap:5px;padding-top:6px}.result-row{display:flex;gap:5px}.result-omitted{font-size:.72rem;opacity:.8}.mini{width:20px;height:20px;border:3px solid var(--boards-line);border-radius:50%;animation:mini-pop .24s cubic-bezier(.2,1.6,.4,1) both}.mini.is-held{border-color:var(--granite);background:var(--stone-yellow)}.result-progress{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.result-progress[hidden]{display:none}.progress-dot{width:7px;height:7px;border-radius:50%;background:var(--boards-line)}.progress-dot.is-cleared{background:var(--stone-yellow)}.progress-dot.is-current{outline:1.5px solid var(--pale);outline-offset:1px}.progress-dot.is-locked{background:transparent;box-shadow:inset 0 0 0 1.5px var(--boards-line)}.progress-dot.is-opened{animation:dot-open .34s cubic-bezier(.2,1.6,.4,1) both}@keyframes dot-open{0%{background:transparent;box-shadow:inset 0 0 0 1.5px var(--boards-line);transform:scale(.6)}60%{background:var(--pale);transform:scale(1.8)}to{background:var(--boards-line);transform:scale(1)}}.progress-dot.is-new{animation:dot-fill .32s cubic-bezier(.2,1.6,.4,1) both}.progress-label{margin-left:8px;font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}.progress-label.is-bumped{color:var(--stone-yellow);animation:label-bump .36s cubic-bezier(.2,1.6,.4,1) both}.result-actions{display:flex;gap:8px;margin-top:12px}.result-actions button{flex:1 1 auto;white-space:nowrap}.result-actions button.is-primary{position:relative;overflow:hidden;flex-grow:2}.result-actions button.is-primary:after{position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgb(255 255 255 / .55) 50%,transparent 65%);transform:translate(-100%);animation:forward-shine .8s ease-in-out 1.3s both;content:"";pointer-events:none}@keyframes result-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes result-title{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes result-gloss{0%{background-position:100% 0}to{background-position:0 0}}@keyframes mini-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@keyframes dot-fill{0%{background:var(--boards-line);transform:scale(.6)}60%{background:var(--stone-yellow);transform:scale(1.7)}to{background:var(--stone-yellow);transform:scale(1)}}@keyframes label-bump{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes forward-shine{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.result,.result-title,.result.is-oneshot .result-title,.mini,.progress-dot.is-new,.progress-dot.is-opened,.progress-label.is-bumped,.result-mascot,.result-actions button.is-primary:after{animation:none}.result-actions button.is-primary:after{display:none}}.mascot{display:block;width:100%;height:auto;overflow:visible}.mascot .mascot-body{transform-box:view-box;transform-origin:60px 114px;animation:mascot-bob 2.8s ease-in-out infinite}.mascot .mascot-eyes{transform-box:fill-box;transform-origin:center;animation:mascot-blink 4.6s linear infinite}.mascot .mascot-sparkles path{transform-box:fill-box;transform-origin:center;animation:mascot-twinkle 1.4s ease-in-out infinite}.mascot .mascot-sparkles path:nth-child(2){animation-delay:.35s}.mascot .mascot-sparkles path:nth-child(3){animation-delay:.7s}.mascot .mascot-sparkles path:nth-child(4){animation-delay:1.05s}.fail-mascot{position:absolute;top:-62px;right:18px;width:66px;pointer-events:none;animation:fail-peek .52s cubic-bezier(.2,1.4,.4,1) .25s both}.boards-bottom .fail-mascot .mascot .mascot-body{animation:mascot-shake .56s ease-in-out .75s,mascot-bob 2.8s ease-in-out 1.4s infinite}@keyframes fail-peek{0%{opacity:0;transform:translateY(36px)}}@keyframes mascot-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@media(prefers-reduced-motion:reduce){.fail-mascot,.boards-bottom .fail-mascot .mascot .mascot-body{animation:none}}.result-mascot .mascot[data-mood=joy] .mascot-body{animation:mascot-jump .52s cubic-bezier(.3,.7,.4,1) .86s 2,mascot-bob 2.8s ease-in-out 1.9s infinite}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes mascot-blink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes mascot-twinkle{0%,to{opacity:.35;transform:scale(.5)}50%{opacity:1;transform:scale(1)}}@keyframes mascot-peek{0%{transform:translateY(70px)}to{transform:translateY(0)}}@keyframes mascot-jump{0%,to{transform:translateY(0) scale(1)}18%{transform:translateY(0) scale(1.06,.92)}50%{transform:translateY(-16px) scale(.96,1.05)}82%{transform:translateY(0) scale(1.04,.95)}}@media(prefers-reduced-motion:reduce){.mascot .mascot-body,.mascot .mascot-eyes,.mascot .mascot-sparkles path,.result-mascot .mascot[data-mood=joy] .mascot-body{animation:none}}.page{width:min(92vw,520px);max-height:86dvh;padding:0;border:none;border-radius:14px;background:var(--paint-white);color:var(--ink);font-size:.92rem;line-height:1.6;word-break:auto-phrase}.page::backdrop{background:#15384f99}.page[open]{animation:page-in .3s cubic-bezier(.2,1.35,.4,1) both}.page[open]::backdrop{animation:backdrop-in .2s ease-out both}.page[open] .page-mascot .mascot-body{animation:mascot-jump .48s cubic-bezier(.3,.7,.4,1) .18s,mascot-bob 2.8s ease-in-out .7s infinite}@keyframes page-in{0%{opacity:0;transform:translateY(18px) scale(.95)}to{opacity:1;transform:none}}@keyframes backdrop-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.page[open],.page[open]::backdrop,.page[open] .page-mascot .mascot-body{animation:none}}.page-body{padding:16px 20px 20px}.page-head{display:flex;align-items:center;justify-content:space-between}.page h2{margin:0;font-size:1.15rem;font-weight:800}.page-mascot{flex:none;width:40px;margin:-4px 8px -4px 0}.page-head .page-mascot+h2{margin-right:auto}.page h3{margin:16px 0 4px;font-size:.98rem;font-weight:800}.page p,.page ul{margin:0}.page p+p{margin-top:6px}.page ul{padding-left:1.2em}.page li+li{margin-top:4px}.page strong{font-weight:800}.page a{color:var(--ink);font-weight:800}.page button{border-color:var(--ink);color:var(--ink)}.page button.is-primary{border-color:var(--stone-yellow)}.guide-figure{display:flex;align-items:center;gap:14px;margin:10px 0 0}.guide-board{flex:none;width:128px;height:auto;border-radius:8px}.guide-figure strong{display:block}.guide-start{width:100%;margin-top:16px}.figure-grid line{stroke:var(--ink);stroke-width:2;opacity:.14}.figure-path{fill:none;stroke:var(--ink);stroke-width:7;stroke-opacity:.6;stroke-dasharray:20 14;stroke-linecap:round}.figure-dot{fill:var(--target);stroke:var(--ink);stroke-width:5;stroke-opacity:.55}.figure-cross{fill:none;stroke:var(--ink);stroke-width:9;stroke-linecap:round;opacity:.6}.figure-count{fill:var(--ink);font-size:54px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:var(--paint-white);stroke-width:10px;stroke-linejoin:round}.figure-rank{fill:var(--ink);font-size:60px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:var(--paint-white);stroke-width:8px;stroke-linejoin:round}.figure-tie{fill:none;stroke:var(--ink);stroke-width:6;stroke-dasharray:16 12;opacity:.6}.guide-board .ghost{stroke-width:6;stroke-dasharray:14 10}.guide-board .push-line{stroke-width:7;stroke-dasharray:20 14;stroke-linecap:round}.guide-board .zone{stroke-width:6}.menu-daily{width:100%;margin-top:12px}.page .menu-stats{margin-top:8px;font-size:.86rem;text-align:center}.menu-bar{overflow:hidden;height:8px;margin:6px 0 4px;border-radius:4px;background:var(--pale)}.menu-bar span{display:block;width:calc(var(--p, 0) * 100%);height:100%;border-radius:4px;background:var(--stone-yellow);transform-origin:left;animation:bar-grow .7s cubic-bezier(.2,1,.3,1) .15s both}@keyframes bar-grow{0%{transform:scaleX(0)}}.menu-daily.is-waiting{position:relative;overflow:hidden}.menu-daily.is-waiting:after{position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgb(255 255 255 / .6) 50%,transparent 65%);transform:translate(-100%);animation:forward-shine .8s ease-in-out .45s both;content:"";pointer-events:none}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}.page .level-stone{aspect-ratio:1;min-height:0;padding:0;border:3px solid var(--pale);border-radius:50%;background:transparent;font-size:.86rem;font-weight:800;font-variant-numeric:tabular-nums;animation:level-in .26s cubic-bezier(.2,1.6,.4,1) calc(.12s + var(--i, 0) * 14ms) backwards}@keyframes level-in{0%{opacity:0;transform:scale(.3)}}@media(prefers-reduced-motion:reduce){.page .level-stone,.menu-bar span,.menu-daily.is-waiting:after{animation:none}}.page .level-stone.is-locked{border-style:dashed;color:transparent;background:center / 14px 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect x='2' y='6' width='10' height='7' rx='1.5' fill='%2315384f'/%3E%3Cpath d='M4.5 6V4.5a2.5 2.5 0 0 1 5 0V6' fill='none' stroke='%2315384f' stroke-width='1.6'/%3E%3C/svg%3E")}.page .level-stone.is-tried{border-color:var(--stone-yellow)}.page .level-stone.is-cleared,.page .level-stone.is-oneshot{border-color:var(--granite);background:var(--stone-yellow)}.page .level-stone.is-oneshot{box-shadow:0 0 0 2px var(--paint-white),0 0 0 4px var(--stone-yellow)}.page .level-stone.is-current{outline:2px solid var(--ink);outline-offset:1px}.menu-links{display:flex;gap:8px;margin-top:18px}.menu-links button{flex:1}.menu-language{margin-right:8px}.menu-share,.about-share{width:100%;margin-top:8px}.share-kinds{display:flex;gap:8px;margin-top:12px}.share-kinds[hidden]{display:none}.share-kinds button{flex:1;min-height:36px}.share-kinds button[aria-pressed=true]{background:var(--ink);color:var(--paint-white)}.share-thanks{display:flex;align-items:center;gap:10px;margin-top:10px;padding:6px 12px 6px 6px;border-radius:12px;background:#fcc41938;font-weight:800;animation:thanks-in .42s cubic-bezier(.2,1.6,.4,1) both}.share-thanks[hidden]{display:none}.share-thanks-mascot{flex:none;width:56px}.page .share-thanks p{margin:0}.page .share-thanks .mascot .mascot-body{animation:mascot-jump .52s cubic-bezier(.3,.7,.4,1) .2s 2,mascot-bob 2.8s ease-in-out 1.3s infinite}@keyframes thanks-in{0%{opacity:0;transform:translateY(10px) scale(.9)}}@media(prefers-reduced-motion:reduce){.share-thanks,.page .share-thanks .mascot .mascot-body{animation:none}}.share-text{overflow-x:auto;margin:12px 0 0;padding:12px;border-radius:10px;background:var(--pale);font:inherit;font-size:.9rem;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere}.page .share-note{margin-top:8px;font-size:.86rem}.page .share-note[hidden]{display:none}.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.share-actions button{flex:1 1 30%;white-space:nowrap}.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap;clip-path:inset(50%)}.complete{width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));overflow:hidden auto;border:none;background:var(--boards);color:var(--paint-white);text-align:center}.complete[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;animation:backdrop-in .25s ease-out both}.complete::backdrop{background:var(--boards)}.complete-stage{position:relative;width:min(62vw,250px);aspect-ratio:1;flex:none}.complete-house{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.complete-ring{transform-box:fill-box;transform-origin:center;animation:ring-in .7s cubic-bezier(.2,1.4,.4,1) both,ring-pulse 2.4s ease-in-out infinite}.complete-ring[data-ring=blue]{fill:#9abcdd;animation-delay:0ms,1.4s}.complete-ring[data-ring=white]{fill:#f5f9fb;animation-delay:.11s,1.5s}.complete-ring[data-ring=red]{fill:#e9abac;animation-delay:.22s,1.6s}.complete-ring[data-ring=button]{fill:#f5f9fb;animation-delay:.33s,1.7s}@keyframes ring-in{0%{transform:scale(0)}}@keyframes ring-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.complete-stones{position:absolute;top:50%;left:50%}.burst-stone{position:absolute;width:20px;height:20px;margin:-10px;border:3px solid var(--granite);border-radius:50%;background:var(--stone-yellow);opacity:0;animation:stone-burst 1.2s cubic-bezier(.15,.8,.3,1) var(--delay, .3s) both}.burst-stone.is-red{background:var(--stone-red)}@keyframes stone-burst{0%{opacity:1;transform:translate(0) scale(.3)}70%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(1)}}.complete-mascot{position:absolute;top:50%;left:50%;width:48%;transform:translate(-50%,-54%);animation:complete-mascot-in .6s cubic-bezier(.2,1.6,.4,1) .45s both}.complete .complete-mascot .mascot .mascot-body{animation:mascot-jump .52s cubic-bezier(.3,.7,.4,1) 1.1s 3,mascot-bob 2.8s ease-in-out 2.7s infinite}@keyframes complete-mascot-in{0%{opacity:0;transform:translate(-50%,-54%) scale(.2)}}.complete-title{margin:4px 0 0;color:var(--stone-yellow);font-size:clamp(2rem,9vw,2.8rem);font-weight:800;line-height:1.2}.complete-title span{display:inline-block;animation:letter-pop .42s cubic-bezier(.2,1.8,.4,1) calc(.7s + var(--i) * 55ms) both}@keyframes letter-pop{0%{opacity:0;transform:translateY(18px) scale(.4)}}.complete-rank{margin:0;color:var(--pale);font-size:.9rem}.complete-rank strong{display:inline-block;margin-left:8px;padding:2px 14px;border:2px solid var(--stone-yellow);border-radius:999px;color:var(--stone-yellow);font-size:1.15rem;font-weight:800;animation:rank-stamp .42s cubic-bezier(.2,1.6,.4,1) 1.9s both}@keyframes rank-stamp{0%{opacity:0;transform:scale(2.4) rotate(-12deg)}}.complete-stats{display:flex;gap:20px;margin:4px 0 0;animation:backdrop-in .3s ease-out 1s both}.complete-stats div{display:grid;gap:2px}.complete-stats dt{color:var(--pale);font-size:.75rem}.complete-stats dd{margin:0;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums}.complete-call{margin:6px 0 0;font-weight:800;animation:backdrop-in .3s ease-out 2.2s both}.complete-actions{display:grid;gap:8px;width:min(100%,340px);margin-top:4px;animation:backdrop-in .3s ease-out 2.2s both}.complete-actions button[hidden]{display:none}.complete-actions button.is-primary{position:relative;overflow:hidden}.complete-actions button.is-primary:after{position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgb(255 255 255 / .6) 50%,transparent 65%);transform:translate(-100%);animation:share-shine 3s ease-in-out 2.6s infinite;content:"";pointer-events:none}@keyframes share-shine{0%{transform:translate(-100%)}30%,to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.complete[open],.complete-ring,.burst-stone,.complete-mascot,.complete .complete-mascot .mascot .mascot-body,.complete-title span,.complete-rank strong,.complete-stats,.complete-call,.complete-actions,.complete-actions button.is-primary:after{animation:none}.burst-stone{display:none}}
