*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{color:#5a3a63;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(160deg,#ffd6e8,#d6e8ff 55%,#d9ffe0);font-family:Trebuchet MS,Segoe UI,sans-serif;overflow:hidden}.scenery{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.scenery-picture{filter:blur(1.5px)saturate(.85);background-repeat:no-repeat;background-size:cover;animation:.8s ease-out scenery-in;position:absolute;inset:-12px}.scenery:after{content:"";background:radial-gradient(62% 58% at 50% 56%,#ffffff6b,#ffffff2e 78%,#ffffff1f);position:absolute;inset:0}@keyframes scenery-in{0%{opacity:0}to{opacity:1}}.app{flex-direction:column;align-items:center;gap:10px;height:100%;padding:10px;display:flex}.fx{pointer-events:none;z-index:20;width:100vw;height:100vh;position:fixed;inset:0}.hud{text-align:center;width:min(96vw,560px);position:relative}.title{height:clamp(40px,7.5vh,68px)}.title .logo{object-fit:contain;width:100%;height:100%;animation:.35s ease-out logo-in;display:block}@keyframes logo-in{0%{opacity:0}to{opacity:1}}.stats{grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0;display:grid}.stats div{background:#fff9;border-radius:14px;padding:4px;box-shadow:0 2px 6px #0001}.stats span{opacity:.7;font-size:11px;display:block}.stats b{font-size:20px}.stats b.low{color:#e0245e}.progress{background:#fff8;border-radius:12px;height:22px;position:relative;overflow:hidden}.progress i{background:linear-gradient(90deg,#ffb300,#ff4f8b);transition:width .4s;position:absolute;inset:0 auto 0 0}.progress em{font-size:12px;font-style:normal;font-weight:700;line-height:22px;position:relative}.combo{color:#fff;background:#ff4f8b;border-radius:12px;padding:2px 10px;font-weight:800;animation:.3s pop;position:absolute;top:-4px;right:0}.board-wrap{aspect-ratio:1;width:min(96vw,560px,100vh - 290px);position:relative;container-type:inline-size}.board{touch-action:none;background:#fff7;border-radius:22px;width:100%;height:100%;padding:6px;position:relative;box-shadow:0 8px 24px #a06ac055}.board-wrap.glow-combo .board{transition:box-shadow .3s;box-shadow:0 0 28px 6px #ffd400aa,0 8px 24px #a06ac055}.board-wrap.glow-max .board{box-shadow:0 0 40px 12px #ff4fd8cc,0 8px 24px #a06ac055}.cells,.tiles{position:absolute;inset:6px}.cells{grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(8,1fr);display:grid}.cell{background:#fffa;border-radius:10px;margin:1px}.cell.odd{background:#ffe3f1aa}.tile{pointer-events:none;width:12.5%;height:12.5%;transform:translate(calc(var(--x) * 100%), calc(var(--y) * 100%));transition:transform .42s cubic-bezier(.3,1.3,.5,1);animation:.5s cubic-bezier(.3,1.2,.5,1) drop;position:absolute;top:0;left:0}.tile.falling{transition:transform var(--dur) cubic-bezier(.5, 0, .9, .6);animation-duration:var(--dur);animation-timing-function:cubic-bezier(.5,0,.9,.6)}.inner.landing{animation:land .24s ease-out var(--dur) 1}@keyframes land{0%{transform:scale(1)}35%{transform:scale(1.18,.8)}70%{transform:scale(.94,1.08)}to{transform:scale(1)}}@keyframes drop{0%{transform:translate(calc(var(--x) * 100%), calc(var(--drop) * -100% - 100%));opacity:0}}.inner{place-items:center;width:100%;height:100%;padding:6%;transition:transform .2s,opacity .3s;display:grid}.inner img{object-fit:contain;filter:drop-shadow(0 3px 2px #0003);width:100%;height:100%}.inner.selected{animation:.5s infinite alternate bob;transform:scale(1.18)}.inner.hinted{animation:.6s infinite wiggle}.inner.cow-eat{z-index:5;animation:.7s ease-in-out cow-eat}@keyframes cow-eat{0%,to{transform:translate(0)scale(1)}45%{transform:translate(calc(var(--lx) * 38%), calc(var(--ly) * 38%)) scale(1.2)}60%{transform:translate(calc(var(--lx) * 38%), calc(var(--ly) * 38%)) scale(1.1)}}.inner.cat-leap{z-index:7;animation:.65s ease-in-out forwards cat-leap}@keyframes cat-leap{0%{transform:translate(0)scale(1)}30%{transform:translate(0)scale(1.25)}75%{transform:translate(calc(var(--lx) * 100%), calc(var(--ly) * 100%)) scale(1.25)}to{transform:translate(calc(var(--lx) * 100%), calc(var(--ly) * 100%)) scale(.8)}}.tile:has(.cat-leap){z-index:7}.inner.clearing{opacity:0;transform:scale(1.5)rotate(15deg)}.inner.a-frog img{filter:drop-shadow(0 0 6px #ffe36e)drop-shadow(0 3px 2px #0003)}.inner.special-super img{filter:drop-shadow(0 0 8px #ffd400)drop-shadow(0 0 3px #fff);animation:1s infinite alternate glow}.inner.special-mega img{filter:drop-shadow(0 0 14px #ff3b3b)drop-shadow(0 0 8px #3bd1ff)drop-shadow(0 0 2px #fff);animation:.6s infinite alternate glow,1.6s linear infinite rainbow}@keyframes rainbow{0%,to{filter:drop-shadow(0 0 14px #ff3b3b)drop-shadow(0 0 6px #ff9b3b)drop-shadow(0 0 2px #fff)}20%{filter:drop-shadow(0 0 14px #ffe83b)drop-shadow(0 0 6px #ff9b3b)drop-shadow(0 0 2px #fff)}40%{filter:drop-shadow(0 0 14px #3bff6a)drop-shadow(0 0 6px #ffe83b)drop-shadow(0 0 2px #fff)}60%{filter:drop-shadow(0 0 14px #3bd1ff)drop-shadow(0 0 6px #3bff6a)drop-shadow(0 0 2px #fff)}80%{filter:drop-shadow(0 0 14px #a53bff)drop-shadow(0 0 6px #3bd1ff)drop-shadow(0 0 2px #fff)}}.inner.k-mystery img{filter:drop-shadow(0 0 8px #a56bff)drop-shadow(0 3px 2px #0003);animation:.7s infinite alternate glow}.hint-wrap{display:inline-block;position:relative}.hint-plus{white-space:nowrap;color:#ff9f1a;text-shadow:0 0 4px #fff,0 0 4px #fff;pointer-events:none;font-size:14px;font-weight:900;animation:1.4s forwards hintplus;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}@keyframes hintplus{0%{opacity:0;transform:translate(-50%,6px)}15%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-12px)}}.hint-pulse{animation:.7s 2 hintpulse}@keyframes hintpulse{50%{transform:scale(1.12);box-shadow:0 0 14px 4px #ffd400}}.inner.ghost{visibility:hidden}.inner.reward{border-radius:50%;animation:1.2s ease-out rewardin}@keyframes rewardin{0%{transform:scale(.2);box-shadow:0 0 #ffe36e}35%{transform:scale(1.25);box-shadow:0 0 22px 10px #ffe36eaa}65%{transform:scale(.95)}to{transform:scale(1);box-shadow:0 0 #ffe36e00}}.mystery-layer{z-index:50;pointer-events:auto;background:#14082800;transition:background .5s;position:fixed;inset:0}.mystery-layer.stage-center,.mystery-layer.stage-spin,.mystery-layer.stage-result{background:#14082899}.mystery-fly{will-change:transform, left, top;transition:left .7s cubic-bezier(.3,.8,.3,1),top .7s cubic-bezier(.3,.8,.3,1),transform .7s cubic-bezier(.3,.8,.3,1);position:fixed}.mystery-fly img{object-fit:contain;filter:drop-shadow(0 0 10px #a56bff)drop-shadow(0 3px 3px #0006);width:100%;height:100%}.mystery-layer.stage-spin .mystery-fly img{animation:none}.mystery-layer.stage-result .mystery-fly img{filter:drop-shadow(0 0 18px #ffe36e)drop-shadow(0 0 6px #fff);animation:.6s ease-out reveal}.mystery-layer.stage-return .mystery-fly{transition-duration:.55s}@keyframes reveal{0%{transform:scale(.85)}40%{transform:scale(1.18)}70%{transform:scale(.96)}to{transform:scale(1)}}.frog-layer{z-index:50;pointer-events:auto;background:#0a1e0a00;transition:background .3s;position:fixed;inset:0}.frog-layer.stage-center,.frog-layer.stage-target,.frog-layer.stage-end{background:#0a1e0a66}.frog-head{will-change:transform, left, top;transition:left .19s ease-in,top .19s ease-in,transform .3s cubic-bezier(.3,1.3,.5,1);position:fixed}.frog-head img{object-fit:contain;filter:drop-shadow(0 0 12px #8be04e)drop-shadow(0 3px 3px #0006);width:100%;height:100%}.frog-layer.stage-end .frog-head{opacity:0;transition:transform .4s ease-out,opacity .4s ease-in .1s}.inner.k-fly img{filter:drop-shadow(0 2px 2px #0005)}.inner.k-fly.clearing{opacity:0;transform:scale(.2)rotate(40deg)}.inner.k-bell img,.inner.k-mouse img,.inner.k-whistle img{filter:drop-shadow(0 0 8px #ffd400)drop-shadow(0 3px 2px #0005);animation:.9s infinite alternate glow}:is(.tile:has(.bell-zoom),.tile:has(.bell-ring)){z-index:6}.inner.bell-zoom{transition:transform .45s ease-out;transform:scale(2.4)}.inner.bell-ring{animation:.2s ease-in-out infinite alternate bellring;transform:scale(2.4)}@keyframes bellring{0%{transform:scale(2.4)rotate(-16deg)}to{transform:scale(2.4)rotate(16deg)}}.inner.k-whistle.bell-ring{animation:.45s step-end infinite whistle-buzz;position:relative}.inner.k-whistle.bell-ring img{animation:none}.inner.k-whistle.bell-ring:after{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg stroke='%237a3b10' stroke-width='3.6' stroke-linecap='round' fill='none'%3E%3Cpath d='M21 30 8 26'/%3E%3Cpath d='M24 25 13 11'/%3E%3Cpath d='M30 22 28 6'/%3E%3C/g%3E%3C/svg%3E") 50%/contain no-repeat;width:52%;height:52%;animation:.4s step-end infinite whistle-lines;position:absolute;top:-30%;left:-2%}@keyframes whistle-buzz{0%{transform:scale(2.4)translate(-1.4%,1.6%)}10%{transform:scale(2.4)translate(2%,-1.1%)}20%{transform:scale(2.4)translateY(-3.1%)}30%{transform:scale(2.4)translate(-1.5%,.1%)}40%{transform:scale(2.4)translate(.4%,.6%)}50%{transform:scale(2.4)translate(.3%,-1.2%)}60%{transform:scale(2.4)translate(1.6%,1.1%)}70%{transform:scale(2.4)translate(-1.2%,1.2%)}80%{transform:scale(2.4)translate(-2.4%,.1%)}90%{transform:scale(2.4)translate(3.5%,1.6%)}}@keyframes whistle-lines{0%{opacity:1;transform:translate(2%,-3%)}12%{transform:translate(-3%,1%)}25%{transform:translate(1%,3%)}37%{transform:translate(-2%,-2%)}50%{opacity:0;transform:translate(3%)}62%{opacity:1;transform:translateY(-3%)}75%{transform:translate(-3%,2%)}87%{transform:translate(2%,2%)}}.inner.k-hay img{filter:drop-shadow(0 3px 2px #0005)}@keyframes glow{to{transform:scale(1.12)}}.summary{text-align:center;z-index:7;pointer-events:none;background:#fffe;border-radius:16px;padding:8px 14px;font-weight:800;animation:.3s pop;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0003}.summary small{opacity:.8;font-weight:600;display:block}.stuck{color:#e0245e;z-index:7;pointer-events:none;background:#fffe;border-radius:16px;padding:10px 16px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}button:disabled{opacity:.45;cursor:default}@keyframes bob{to{transform:scale(1.28)}}@keyframes wiggle{25%{transform:rotate(-12deg)scale(1.1)}75%{transform:rotate(12deg)scale(1.1)}}@keyframes pop{0%{transform:scale(0)}}.popup{text-shadow:0 0 4px #fff,0 0 4px #fff;pointer-events:none;z-index:5;font-size:22px;font-weight:900;animation:1s forwards rise;position:absolute;transform:translate(-50%,-50%)}.popup.combo-pop{text-shadow:none;z-index:6;animation:1.8s linear forwards comboStar}.combo-star{aspect-ratio:1;width:clamp(64px,20cqw,110px);display:block;position:relative}.combo-star img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.combo-num{color:#fff;-webkit-text-stroke:2px #b34a00;paint-order:stroke fill;text-shadow:0 2px #b34a00;justify-content:center;align-items:center;font-size:clamp(24px,8cqw,42px);font-weight:900;line-height:1;display:flex;position:absolute;inset:0}@keyframes comboStar{0%{animation-timing-function:ease-out;transform:translate(-50%,-50%)scale(.4)}10%{animation-timing-function:ease-in-out;transform:translate(-50%,-50%)scale(1.3)}17%{animation-timing-function:ease-in-out;transform:translate(-50%,-50%)scale(1.1)}24%,35%{animation-timing-function:cubic-bezier(.5,0,.9,.6);transform:translate(-50%,-50%)scale(1.18)}to{transform:translate(-50%,calc(120vh - 50%))scale(1.18)}}.popup.combo-pop .combo-star{animation:1.8s linear forwards comboTilt}@keyframes comboTilt{0%,30%{animation-timing-function:ease-out;transform:rotate(0)}to{transform:rotate(var(--rot,16deg))}}@keyframes rise{to{opacity:0;transform:translate(-50%,-120px)}}.banner{box-sizing:border-box;text-align:center;color:#ff4f8b;text-shadow:0 3px #fff,0 0 14px #fff;pointer-events:none;overflow-wrap:anywhere;z-index:6;max-width:92%;padding:0 8px;font-size:clamp(22px,10cqw,54px);font-weight:900;line-height:1.1;animation:1.1s forwards banner;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.close-x{width:24px;height:24px;text-shadow:none;pointer-events:auto;border-radius:50%;padding:0;font-size:16px;line-height:22px;position:absolute;top:2px;right:2px}.stuck,.summary{box-sizing:border-box;max-width:92%}.stuck{text-align:center;padding-right:36px}.banner.frog{color:#43b023}@keyframes banner{0%{transform:translate(-50%,-50%)scale(0)}20%{transform:translate(-50%,-50%)scale(1.2)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-80%)scale(1)}}.controls{gap:10px;display:flex}button{font:inherit;color:#ff4f8b;cursor:pointer;background:#fff;border:0;border-radius:16px;padding:10px 16px;font-weight:800;box-shadow:0 3px #e6a1c0}button:active{transform:translateY(2px);box-shadow:0 1px #e6a1c0}button.dev-on{color:#fff;background:#43b023;box-shadow:0 3px #2c7d14}button.big{color:#fff;background:#ff4f8b;padding:14px 40px;font-size:24px;box-shadow:0 4px #b52a5e}.controls{align-items:center}.icon-btn{background:var(--bg);width:56px;height:56px;color:var(--ink);box-shadow:0 3px 0 var(--edge), inset 0 2px 0 #fffc;border-radius:20px;place-items:center;padding:0;transition:transform .12s,filter .12s;display:grid;position:relative}.icon-btn:active{box-shadow:0 1px 0 var(--edge), inset 0 2px 0 #fffc}.icon-btn:focus-visible{outline-offset:2px;outline:3px solid #ff9ec4}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.icon-btn svg .fill{fill:#fffbe6}.icon-btn svg .dot{fill:currentColor;stroke:none}.icon-btn.restart{--bg:#d9f5e9;--ink:#2f9e78;--edge:#a3dcc5}.icon-btn.shuffle{--bg:#ebe3ff;--ink:#7a5ad6;--edge:#c9b9f3}.icon-btn.hint{--bg:#fff1c4;--ink:#df930c;--edge:#f0d48c}.icon-btn .badge{color:#fff;background:#ff4f8b;border-radius:11px;min-width:22px;height:22px;padding:0 6px;font-size:13px;font-weight:900;line-height:22px;position:absolute;top:-7px;right:-7px;box-shadow:0 2px #c93a6f}.icon-btn[data-tip]:after{content:attr(data-tip);white-space:nowrap;color:#fff;pointer-events:none;opacity:0;visibility:hidden;z-index:30;background:#5a3a63;border-radius:10px;padding:4px 10px;font-size:12px;font-weight:700;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.icon-btn:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.icon-btn[data-tip]:hover:after,.icon-btn[data-tip]:focus-visible:after{opacity:1;visibility:visible;transition:opacity .15s .35s}}.overlay{z-index:10;background:#5a3a6355;place-items:center;display:grid;position:fixed;inset:0}.modal{text-align:center;background:#fff;border-radius:28px;width:min(90vw,420px);padding:24px;animation:.35s pop;box-shadow:0 10px 40px #0004}.modal h1{color:#ff4f8b;margin:8px 0}.modal p{margin:8px 0 16px}.faces{justify-content:center;display:flex}.faces img{width:15%;margin:0 -1%}.dev-tools{z-index:1000;font-size:12px;position:fixed;bottom:8px;left:8px}.dev-tools-section{flex-direction:column;gap:4px;display:flex}.dev-tools-head{color:#fff;background:#444;font-weight:700}.dev-tools-list{flex-direction:column;gap:4px;max-height:60vh;margin-top:4px;display:flex;overflow:auto}.dev-tools button{text-align:left;padding:4px 8px}.pause-btn{--bg:#fff;--ink:#ff4f8b;--edge:#e6a1c0;border-radius:16px;width:44px;height:44px;position:absolute;top:0;right:0}.pause-btn svg{width:24px;height:24px}.app.is-paused>:is(.hud,.board-wrap,.controls,.dev-tools,.mystery-layer,.frog-layer,.overlay){visibility:hidden}.app.is-paused :is(.hud,.board-wrap,.controls) *{animation-play-state:paused!important}.menu-screen{z-index:40;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,2.4vh,22px);animation:.35s ease-out menu-in;display:flex;position:fixed;inset:0;overflow-y:auto}.menu-screen.pause{background:radial-gradient(#ffffff40,#ffffff10 70%)}.menu-logo{filter:drop-shadow(0 6px 10px #a06ac040);flex:none;width:min(86vw,440px);height:clamp(104px,24vh,220px);animation:4.5s ease-in-out infinite logo-bob}.menu-logo .logo{object-fit:contain;width:100%;height:100%;display:block}.menu-chip{color:#a0558f;background:#ffffffd9;border-radius:999px;flex:none;padding:6px 18px;font-weight:900;box-shadow:0 3px #e6a1c0}.menu-card{-webkit-backdrop-filter:blur(10px)saturate(1.2);background:#ffffff8c;border:2px solid #ffffffb3;border-radius:30px;flex:none;gap:12px;width:min(88vw,360px);padding:18px;display:grid;box-shadow:0 12px 30px #a06ac033,inset 0 1px #fff}.menu-btn{color:#fff;letter-spacing:.5px;text-transform:uppercase;text-shadow:0 2px #0002;background:linear-gradient(180deg, var(--hi), var(--lo));width:100%;min-height:58px;box-shadow:0 5px 0 var(--edge), 0 10px 18px #0000001a;border-radius:22px;align-items:center;gap:12px;padding:10px 18px;font-size:20px;font-weight:900;transition:transform .12s,filter .12s;display:flex;position:relative;overflow:hidden}.menu-btn:before{content:"";pointer-events:none;background:linear-gradient(#ffffffa6,#fff0);border-radius:16px;height:40%;position:absolute;top:5px;left:10px;right:10px}.menu-btn:active{box-shadow:0 2px 0 var(--edge);transform:translateY(3px)}.menu-btn:focus-visible{outline-offset:3px;outline:3px solid #fff}@media (hover:hover) and (pointer:fine){.menu-btn:hover{filter:brightness(1.05)saturate(1.05);transform:translateY(-1px)}}.menu-btn-icon{background:#ffffff40;border-radius:12px;flex:none;place-items:center;width:34px;height:34px;display:grid;position:relative}.menu-btn-icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.menu-btn-icon svg .fill{fill:currentColor}.menu-btn-text{flex-direction:column;align-items:flex-start;line-height:1.05;display:flex;position:relative}.menu-btn-text small{letter-spacing:0;text-transform:none;opacity:.92;margin-top:3px;font-size:12px}.menu-btn.primary{--hi:#ff8fbf;--lo:#ff4f8b;--edge:#c93a6f;min-height:74px;font-size:26px}.menu-btn.primary .menu-btn-icon{border-radius:16px;width:46px;height:46px}.menu-btn.primary .menu-btn-icon svg{width:28px;height:28px}.menu-btn.mint{--hi:#8ee6c0;--lo:#3fc28f;--edge:#2c9a70}.menu-btn.lilac{--hi:#c9b3ff;--lo:#9b7bf0;--edge:#7656c9}.menu-btn.peach{--hi:#ffc79a;--lo:#ff9a5c;--edge:#d97640}.menu-btn.sky{--hi:#a8d8ff;--lo:#5fb0f0;--edge:#3f8cc9}.menu-btn.compact{justify-content:center;width:auto;min-height:46px;padding:8px 22px;font-size:16px}.menu-btn.compact .menu-btn-text{align-items:center}.menu-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);background:#5a3a6359;place-items:center;padding:16px;animation:.2s ease-out menu-fade;display:grid;position:fixed;inset:0}.menu-dialog{background:#fffdfb;border:3px solid #ffe3f1;border-radius:28px;width:min(92vw,400px);max-height:calc(100dvh - 32px);padding:22px 20px 18px;animation:.3s pop;position:relative;overflow-y:auto;box-shadow:0 16px 40px #0000004d}.menu-dialog.wide{width:min(92vw,480px)}.menu-dialog h2{text-align:center;color:#ff4f8b;margin:2px 40px 14px;font-size:24px;font-weight:900}.dialog-close{border-radius:14px;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:10px;right:10px}.dialog-close svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;width:20px;height:20px}.dialog-text{text-align:center;margin:0 4px 18px;line-height:1.45}.dialog-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.settings-section h3{color:#a0558f;letter-spacing:1px;text-transform:uppercase;margin:4px 0 10px;font-size:14px}.slider-row{background:#fff3f8;border-radius:18px;grid-template-columns:30px 1fr auto;grid-template-areas:"icon label value""range range range";align-items:center;gap:4px 10px;margin-bottom:10px;padding:10px 12px;display:grid}.slider-row .row-icon{color:#ff4f8b;grid-area:icon;display:grid}.slider-row .row-icon svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.slider-row .row-icon svg .fill{fill:currentColor}.slider-row .row-label{grid-area:label;font-weight:800}.slider-row output{text-align:right;color:#ff4f8b;grid-area:value;min-width:46px;font-weight:900}.slider-row input[type=range]{cursor:pointer;appearance:none;background:0 0;grid-area:range;width:100%;height:30px;margin:0}.slider-row input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, #ff8fbf, #ff4f8b) 0 / var(--p,50%) 100% no-repeat, #f6d7e7;border-radius:5px;height:10px}.slider-row input[type=range]::-moz-range-track{background:#f6d7e7;border-radius:5px;height:10px}.slider-row input[type=range]::-moz-range-progress{background:linear-gradient(90deg,#ff8fbf,#ff4f8b);border-radius:5px;height:10px}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:3px solid #ff4f8b;border-radius:50%;width:26px;height:26px;margin-top:-8px;box-shadow:0 2px 4px #0003}.slider-row input[type=range]::-moz-range-thumb{background:#fff;border:3px solid #ff4f8b;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 4px #0003}.slider-row input[type=range]:focus-visible{outline-offset:4px;border-radius:8px;outline:3px solid #ff9ec4}.toggle-row{cursor:pointer;background:#f3efff;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;padding:12px;font-weight:800;display:flex;position:relative}.toggle-row input{opacity:0;width:1px;height:1px;position:absolute}.switch{background:#d9cfe8;border-radius:15px;flex:none;width:52px;height:30px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.toggle-row input:checked+.switch{background:#ff4f8b}.toggle-row input:checked+.switch:after{transform:translate(22px)}.toggle-row input:focus-visible+.switch{outline-offset:2px;outline:3px solid #ff9ec4}.settings-note{text-align:center;color:#a0558f;margin:8px 0 0;font-size:13px}@keyframes menu-in{0%{opacity:0;transform:scale(.97)}}@keyframes menu-fade{0%{opacity:0}}@keyframes logo-bob{50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.menu-logo,.menu-screen,.menu-overlay{animation:none}}@media (orientation:landscape) and (height<=520px){.menu-screen{flex-flow:wrap;align-content:center;gap:12px 4vw}.menu-logo{width:40vw;height:42vh}.menu-screen.pause .menu-chip{top:max(10px, env(safe-area-inset-top));position:absolute;left:50%;transform:translate(-50%)}.menu-card{border-radius:24px;gap:8px;width:min(46vw,340px);padding:12px}.menu-btn{border-radius:18px;min-height:44px;padding:6px 14px;font-size:16px}.menu-btn-icon{width:28px;height:28px}.menu-btn.primary{min-height:56px;font-size:20px}.menu-btn.primary .menu-btn-icon{width:36px;height:36px}}.map-screen{z-index:40;background:#3d2c4d;animation:.25s ease-out menu-fade;position:fixed;inset:0;overflow:hidden}.map-stage{position:absolute;inset:0;overflow:hidden}.map-page{will-change:transform;position:absolute;inset:0}.map-page.is-current.dir-next{animation:.45s cubic-bezier(.22,.8,.3,1) both page-in-next}.map-page.is-current.dir-prev{animation:.45s cubic-bezier(.22,.8,.3,1) both page-in-prev}.map-page.is-leaving.dir-next{animation:.45s cubic-bezier(.22,.8,.3,1) both page-out-next}.map-page.is-leaving.dir-prev{animation:.45s cubic-bezier(.22,.8,.3,1) both page-out-prev}.map-page.is-leaving{pointer-events:none}.map-viewport{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;position:absolute;inset:0;overflow:hidden}.map-viewport.is-dragging{cursor:grabbing}.map-viewport.is-dragging .level-marker{pointer-events:none}.map-surface{will-change:transform;position:absolute;top:0;left:0;container-type:inline-size}.map-surface img{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.map-head{z-index:3;pointer-events:none;min-height:64px;padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));background:linear-gradient(#ffffffb0,#fff0);justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.map-head>*{pointer-events:auto}.map-back{left:max(12px, env(safe-area-inset-left));--bg:#fff;--ink:#ff4f8b;--edge:#e6a1c0;border-radius:16px;width:46px;height:46px;position:absolute}.map-back svg{stroke-width:3px;width:26px;height:26px}.map-head>.map-title{pointer-events:none}.map-title{--tint:#fff;--ink:#9b7bf0;background:var(--tint);max-width:calc(100% - 132px);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:8px;margin:0;padding:7px 16px;font-size:19px;font-weight:900;display:flex;overflow:hidden;box-shadow:0 3px #0000001f,0 6px 16px #5a3a6333,inset 0 1px #fff}.world-no{letter-spacing:.5px;text-transform:uppercase;background:#ffffffb3;border-radius:999px;padding:1px 9px;font-size:12px}.map-test{right:max(12px, env(safe-area-inset-right));top:calc(max(10px, env(safe-area-inset-top)) + 52px);color:#fff;background:#43b023;border-radius:10px;padding:3px 10px;font-size:11px;font-weight:800;position:absolute;box-shadow:0 2px #2c7d14}.map-arrows{right:max(10px, env(safe-area-inset-right));z-index:3;flex-direction:column;gap:14px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.map-arrow{color:#fff;background:radial-gradient(circle at 35% 30%,#ffb3d4,#ff4f8b 72%);border:3px solid #fff;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;display:grid;position:relative;box-shadow:0 4px #c93a6f,0 8px 18px #0000002e}.map-arrow svg{fill:none;stroke:currentColor;stroke-width:3.2px;stroke-linecap:round;stroke-linejoin:round;width:28px;height:28px}.map-arrow:disabled{visibility:hidden}.map-arrow:active{transform:translateY(2px);box-shadow:0 2px #c93a6f}.map-arrow:focus-visible{outline-offset:3px;outline:3px solid #fff}.map-dots{left:max(12px, env(safe-area-inset-left));z-index:3;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);background:#ffffffc4;border-radius:999px;flex-direction:column-reverse;align-items:center;gap:12px;padding:18px 12px;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 18px #5a3a6333}.map-dot{background:#e4d6f0;border-radius:50%;width:14px;height:14px;padding:0;transition:height .2s,background .2s;position:relative;box-shadow:inset 0 1px 2px #0002}.map-dot.on{background:linear-gradient(#ff8fbf,#ff4f8b);border-radius:7px;height:30px;box-shadow:0 2px #c93a6f}.map-dot.soon:not(.on){background:#f3e6a8}.map-dot:after{content:"";position:absolute;inset:-6px -12px}.level-marker{aspect-ratio:1;width:5.4cqw;min-width:38px;max-width:58px;box-shadow:none;color:#fff;cursor:pointer;--hi:#ffc2dc;--lo:#ff6fa3;--rim:#d94f86;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;font-size:clamp(15px,2.2cqw,22px);font-weight:900;line-height:1;position:absolute;transform:translate(-50%,-50%)}.level-marker:before{content:"";background:radial-gradient(#3b234466,#3b234400 70%);border-radius:50%;height:34%;position:absolute;bottom:-16%;left:6%;right:6%}.marker-stone{background:radial-gradient(circle at 34% 28%, #fff 0 9%, var(--hi) 22%, var(--lo) 74%);box-shadow:0 3px 0 var(--rim), 0 6px 10px #00000030, inset 0 -4px 6px #00000014;border:3px solid #fffdf8;border-radius:50%;place-items:center;transition:transform .15s,filter .15s;display:grid;position:absolute;inset:0}.marker-stone:after{content:"";background:linear-gradient(#ffffffd9,#fff0);border-radius:50%;width:42%;height:26%;position:absolute;top:9%;left:18%}.marker-num{z-index:1;text-shadow:0 1px #0000004d,0 0 6px #00000026;position:relative}.level-marker:active{box-shadow:none;transform:translate(-50%,-50%)}.level-marker:active .marker-stone{box-shadow:0 1px 0 var(--rim), 0 3px 6px #00000030;transform:translateY(2px)}.level-marker:focus-visible{outline:none}.level-marker:focus-visible .marker-stone{outline-offset:3px;outline:3px solid #fff}.level-marker.completed{--hi:#c4f7e0;--lo:#43c792;--rim:#2c9a70}.level-marker.open{--hi:#efe7ff;--lo:#b49cf2;--rim:#8a6fd6}.level-marker.locked{--hi:#fbf9ff;--lo:#d7cfe6;--rim:#aea3c6;color:#8d82aa;cursor:default}.level-marker.locked .marker-num{text-shadow:none}.level-marker.locked .marker-stone{filter:saturate(.7);opacity:.9}.level-marker:disabled{opacity:1}.marker-badge{z-index:2;background:#fff;border-radius:50%;place-items:center;width:46%;height:46%;display:grid;position:absolute;box-shadow:0 1px 3px #0003}.marker-badge svg{fill:none;stroke-linecap:round;stroke-linejoin:round;width:72%;height:72%}.marker-badge.done{color:#2c9a70;top:-14%;right:-14%}.marker-badge.done svg{stroke:currentColor;stroke-width:3.6px}.marker-badge.lock{color:#8d82aa;bottom:-12%;right:-14%}.marker-badge.lock svg{stroke:currentColor;stroke-width:2.6px}.marker-badge.lock svg .fill{fill:#ece7f6}.level-marker.is-highlight{z-index:2}.level-marker.is-highlight .marker-stone{box-shadow:0 3px 0 var(--rim), 0 6px 10px #00000030, inset 0 -4px 6px #00000014, 0 0 0 4px #fff6c9, 0 0 22px 8px #ffe066b3;animation:2s ease-in-out infinite marker-bob;transform:scale(1.18)}.level-marker.is-highlight:after{content:"";pointer-events:none;z-index:-1;background:radial-gradient(#fff9d6 0 30%,#ffe27ab3 46%,#ffd23f33 60%,#ffd23f00 72%);border-radius:50%;animation:2s ease-in-out infinite marker-glow;position:absolute;inset:-55%}@media (hover:hover) and (pointer:fine){.level-marker:not(:disabled):hover .marker-stone{filter:brightness(1.07)saturate(1.1)}}.map-soon{background:radial-gradient(at 50% 40%,#fff5fb,#f1e4ff 60%,#d9c7f2);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.coming-soon{text-align:center;background:#ffffffb8;border:2px solid #ffffffb3;border-radius:28px;justify-items:center;gap:4px;width:min(100%,420px);padding:22px 20px;display:grid;box-shadow:0 10px 26px #a06ac033}.coming-soon h2{color:#9b7bf0;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:26px;font-weight:900}.coming-soon p{color:#7a5a86;margin:0;font-weight:700}.coming-stars{gap:6px;display:flex}.coming-stars svg{fill:none;stroke:#e0a100;stroke-width:1.8px;stroke-linejoin:round;width:24px;height:24px}.coming-stars svg .fill{fill:#ffd23f}.coming-stars svg:nth-child(2){width:32px;height:32px;margin-top:-6px}.modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}button.big.alt{color:#ff4f8b;background:#fff;box-shadow:0 4px #e6a1c0,inset 0 0 0 3px #ffd6e8}.test-note{color:#2c7d14;font-size:12px;font-weight:800;margin:12px 0 0!important}@keyframes page-in-next{0%{transform:translateY(-100%)}}@keyframes page-in-prev{0%{transform:translateY(100%)}}@keyframes page-out-next{to{transform:translateY(100%)}}@keyframes page-out-prev{to{transform:translateY(-100%)}}@keyframes page-fade-in{0%{opacity:0}}@keyframes page-fade-out{to{opacity:0}}@keyframes marker-bob{50%{transform:scale(1.18)translateY(-3px)}}@keyframes marker-glow{0%,to{opacity:.7;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.map-page.is-current.dir-next,.map-page.is-current.dir-prev{animation:.2s both page-fade-in}.map-page.is-leaving.dir-next,.map-page.is-leaving.dir-prev{animation:.2s both page-fade-out}.level-marker.is-highlight .marker-stone,.level-marker.is-highlight:after,.map-screen{animation:none}}@media (width>=1024px) and (height>=600px) and (hover:hover) and (pointer:fine){.map-screen{--m:clamp(20px, 4vmin, 56px);width:min(calc(100vw - 2 * var(--m)), calc((100vh - 2 * var(--m)) * 16 / 9), 1600px);aspect-ratio:16/9;border:4px solid #ffffffd9;border-radius:28px;inset:50% auto auto 50%;translate:-50% -50%;box-shadow:0 18px 50px #3b234459,0 0 0 1px #fff6}}@media (orientation:landscape) and (height<=520px){.map-head{min-height:52px}.map-title{padding:5px 12px;font-size:16px}.map-arrow{width:44px;height:44px}.map-arrows{gap:10px}.map-dots{gap:10px;padding:12px 9px}}.medal{width:1em;height:1em;display:inline-grid}.medal svg{width:100%;height:100%;overflow:visible}.medal-rim{stroke:#fff;stroke-width:1.4px}.medal-face{stroke:#ffffff8c;stroke-width:.8px}.medal-star{fill:#fff;opacity:.92}.medal-shine{fill:#fff;opacity:.55}.medal-bronze .medal-rim{fill:#c8793f}.medal-bronze .medal-face{fill:#e8a26a}.medal-silver .medal-rim{fill:#9aa7ba}.medal-silver .medal-face{fill:#d9e1ec}.medal-silver .medal-star{fill:#fff}.medal-gold .medal-rim{fill:#e7a500}.medal-gold .medal-face{fill:#ffd84d}.medal-gold .medal-star{fill:#fff8d6}.medal-text-bronze{color:#b8682f}.medal-text-silver{color:#7d8aa0}.medal-text-gold{color:#d48f00}.wallet{color:#b9770e;background:#fffdf3;border-radius:999px;align-items:center;gap:6px;padding:5px 14px 5px 6px;font-size:18px;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 3px #f0d48c,0 6px 14px #a06ac026,inset 0 1px #fff}.wallet-coin{width:28px;height:28px;display:grid}.wallet-coin svg{width:100%;height:100%}.wallet-coin circle{fill:#f2b705}.wallet-coin .coin-inner{fill:#ffd84d;stroke:#fff3b8;stroke-width:.8px}.wallet-coin .coin-star{fill:#fff8d6}.menu-wallet{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:2;position:absolute}.map-wallet{right:max(12px, env(safe-area-inset-right));position:absolute}.reward-block{justify-items:center;gap:4px;margin:4px 0 6px;display:grid}.reward-medal{filter:drop-shadow(0 6px 8px #0000002e);width:84px;height:84px;animation:.7s cubic-bezier(.2,1.5,.4,1) both medal-in}.reward-medal.medal-gold{animation:.7s cubic-bezier(.2,1.5,.4,1) both medal-in,2.4s ease-in-out .8s infinite medal-glint}.reward-name{letter-spacing:1px;text-transform:uppercase;font-size:20px;font-weight:900}.reward-coins{color:#b9770e;text-transform:uppercase;background:#fff3c4;border-radius:999px;padding:3px 14px;font-size:18px;font-weight:900;animation:.4s .35s both pop;box-shadow:0 2px #f0d48c}.reward-record{color:#ff4f8b;text-transform:uppercase;font-size:14px;font-weight:900;animation:.4s .5s both pop}.reward-line{font-size:14px;font-weight:800}.reward-line.muted{color:#8d82aa}.reward-stats{color:#7a5a86;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:14px;font-weight:800;display:flex}.modal p.score-line{color:#8d82aa;margin-top:2px;font-size:14px}.marker-badge.medal-badge{width:50%;height:50%;box-shadow:none;background:0 0;top:-16%;right:-16%}.marker-badge.medal-badge .medal{filter:drop-shadow(0 1px 1px #0005);width:100%;height:100%}.level-marker.has-gold .marker-badge.medal-badge .medal{animation:3s ease-in-out infinite medal-glint}@keyframes medal-in{0%{opacity:0;transform:scale(.2)rotate(-25deg)}to{opacity:1;transform:none}}@keyframes medal-glint{0%,70%,to{filter:drop-shadow(0 1px 1px #0005)brightness()}80%{filter:drop-shadow(0 0 5px #ffe27a)brightness(1.18)}}@media (prefers-reduced-motion:reduce){.reward-medal,.reward-coins,.reward-record,.level-marker.has-gold .medal{animation:none}}@media (height<=640px){.reward-medal{width:64px;height:64px}.modal .faces{display:none}}.popup.multi-pop{text-shadow:none;z-index:7;white-space:nowrap;justify-items:center;gap:0;animation:1.7s ease-out forwards multiPop;display:grid}.multi-star{filter:drop-shadow(0 3px 4px #0003);width:54px;height:54px;animation:1.7s ease-out forwards multiSpin}.multi-title{color:#fff;letter-spacing:.5px;text-transform:uppercase;background:linear-gradient(#ff8fbf,#ff4f8b);border-radius:999px;margin-top:-6px;padding:2px 12px;font-size:20px;font-weight:900;box-shadow:0 3px #c93a6f,0 6px 12px #0003}.multi-sub{color:#b9770e;text-transform:uppercase;background:#fffdf3;border-radius:999px;margin-top:3px;padding:1px 10px;font-size:14px;font-weight:900;box-shadow:0 2px #f0d48c}@keyframes multiPop{0%{opacity:0;transform:translate(-50%,-30%)scale(.4)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}25%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1;transform:translate(-50%,-85%)scale(1)}to{opacity:0;transform:translate(-50%,-110%)scale(.95)}}@keyframes multiSpin{0%{transform:rotate(-40deg)scale(.6)}25%{transform:rotate(8deg)scale(1.1)}40%,to{transform:rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.popup.multi-pop,.multi-star{animation-duration:10ms}.popup.multi-pop{animation:none;transform:translate(-50%,-50%)}}@media (width<=480px){.multi-star{width:40px;height:40px}.multi-title{font-size:16px}.multi-sub{font-size:12px}}.coin-track{justify-content:center;align-items:flex-end;gap:10px;margin:2px 0;display:flex}.coin-step{justify-items:center;gap:2px;display:grid}.coin-step .medal{filter:drop-shadow(0 4px 6px #0000002e);width:58px;height:58px}.coin-step:nth-child(2) .medal{width:66px;height:66px}.coin-step:nth-child(3) .medal{width:74px;height:74px}.coin-step small{letter-spacing:.5px;text-transform:uppercase;color:#8d82aa;font-size:12px;font-weight:900}.coin-step.earned small{color:#b9770e}.coin-step.off .medal{filter:grayscale()brightness(1.1)opacity(.45)}.coin-step.fresh .medal{animation:.7s cubic-bezier(.2,1.5,.4,1) both medal-in;animation-delay:inherit}.coin-step.fresh{animation:1.6s ease-out both coin-glow}.coin-step.earned:nth-child(3) .medal{animation:2.4s ease-in-out 1s infinite medal-glint}.coin-step.fresh:nth-child(3) .medal{animation:.7s cubic-bezier(.2,1.5,.4,1) both medal-in,2.4s ease-in-out 1s infinite medal-glint}.reward-count{color:#7a5a86;font-size:14px;font-weight:900}.reward-next{color:#7656c9;background:#f3efff;border-radius:12px;margin-top:2px;padding:3px 12px;font-size:13px;font-weight:800}@keyframes coin-glow{0%{filter:drop-shadow(0 0 #ffe27a00)}40%{filter:drop-shadow(0 0 10px #ffe27a)}to{filter:drop-shadow(0 0 #ffe27a00)}}.marker-stars{pointer-events:none;z-index:1;gap:0;display:flex;position:absolute;top:92%;left:50%;transform:translate(-50%)}.marker-stars>span{aspect-ratio:1;width:30%;margin:0 -2%;display:grid}.marker-stars>span:nth-child(2){margin-top:12%}.marker-stars svg{width:100%;height:100%;overflow:visible}.marker-stars svg path{stroke:#fff;stroke-width:2.6px;stroke-linejoin:round;paint-order:stroke}.marker-stars .on svg .fill{fill:#ffcf33}.marker-stars .on svg path{filter:drop-shadow(0 1px 1px #0005)}.marker-stars .off svg .fill{fill:#d6d0e2}.level-marker.locked .marker-stars{opacity:.7}.level-marker .marker-stars{justify-content:center;width:150%}@media (prefers-reduced-motion:reduce){.reward-block .coin-track .coin-step,.reward-block .coin-track .coin-step .medal{animation:none}}.stats .moves-stat{position:relative}.moves-bonus{color:#fff;background:linear-gradient(#5fe08a,#1fae55);border-radius:999px;min-width:22px;padding:1px 6px;font-size:12px;font-weight:900;line-height:16px;position:absolute;top:-6px;right:-4px;box-shadow:0 2px #138a40,0 3px 6px #0002}.stats .moves-stat.bonus{animation:.9s ease-out movesPulse}@keyframes movesPulse{0%{transform:scale(1);box-shadow:0 0 #2fd46ecc}30%{transform:scale(1.08);box-shadow:0 0 0 7px #2fd46e66}to{transform:scale(1);box-shadow:0 2px 6px #0001}}.turn-fx{z-index:8;pointer-events:none;white-space:nowrap;justify-items:center;gap:6px;animation:1.9s ease-out forwards turnFx;display:grid;position:absolute;top:9%;left:50%}.chain-master{color:#fff;letter-spacing:1px;text-transform:uppercase;text-shadow:0 2px #2a1f86;background:linear-gradient(#7d5cff,#3b2bb8);border:2px solid #ffe066;border-radius:12px;align-items:center;gap:6px;padding:4px 16px 4px 8px;font-size:clamp(18px,6cqw,28px);font-weight:900;display:inline-flex;box-shadow:0 3px #2a1f86,0 0 18px #7d5cff99}.chain-master img{filter:drop-shadow(0 2px 2px #0004);width:1.4em;height:1.4em}.plus-move{color:#fff;text-transform:uppercase;background:linear-gradient(#5fe08a,#1fae55);border-radius:999px;padding:2px 14px;font-size:clamp(16px,5cqw,22px);font-weight:900;box-shadow:0 3px #138a40,0 5px 10px #0003}@keyframes turnFx{0%{opacity:0;transform:translate(-50%,-10px)scale(.6)}12%{opacity:1;transform:translate(-50%)scale(1.08)}22%{transform:translate(-50%)scale(1)}80%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-14px)scale(.96)}}.tutorial-bonus{opacity:.9;font-size:.92em}@media (prefers-reduced-motion:reduce){.stats .moves-stat.bonus{animation:none}.turn-fx{animation:1.9s linear forwards turnFxFade;transform:translate(-50%)}}@keyframes turnFxFade{0%,85%{opacity:1}to{opacity:0}}.goal-row{align-items:center;gap:6px;display:flex}.goal-row .progress{flex:40%;min-width:118px}.progress.stage-1 i,.progress.stage-2 i{background:linear-gradient(90deg,#b9c6d9,#8fa2c4)}.progress.stage-2 i{background:linear-gradient(90deg,#ffe27a,#ffb300)}.progress.stage-3 i{background:linear-gradient(90deg,#ffd23f,#ff9f1c)}.mission-chips{flex:0 auto;gap:4px;min-width:0;display:flex}.mission-chip{white-space:nowrap;background:#fff9;border-radius:13px;align-items:center;gap:3px;height:26px;padding:0 7px 0 3px;font-size:13px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #0001}.mission-chip b{font-weight:900}.mission-chip i{background:linear-gradient(90deg,#ffb300,#ff4f8b);height:3px;transition:width .4s;position:absolute;bottom:0;left:0}.mission-chip.done{color:#2f9e78;background:#d9f5e9;animation:.6s ease-out missionDone}.mission-chip.done i{background:#43c08a}.goal-icon{object-fit:contain;flex:none;width:22px;height:22px}.goal-badge{place-items:center;display:inline-grid;position:relative}.goal-badge img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.goal-badge b{color:#fff;text-shadow:0 1px #c93a6f,0 0 3px #c93a6f;font-size:10px;font-weight:900;position:relative}.goal-badge.goal-mega b{text-shadow:0 1px #6b3fc4,0 0 3px #6b3fc4}@keyframes missionDone{0%{transform:scale(1)}35%{transform:scale(1.18);box-shadow:0 0 0 5px #43c08a55}to{transform:scale(1)}}.mission-panel{display:none}@media (width>=1024px) and (height>=600px) and (hover:hover) and (pointer:fine){.mission-chips{display:none}.mission-panel{text-align:left;z-index:2;background:#fffc;border-radius:22px;width:212px;padding:12px 12px 10px;display:block;position:absolute;top:0;right:calc(100% + 18px);box-shadow:0 6px 18px #5a3a6322,inset 0 0 0 3px #ffd6e8}}.mission-panel h2{color:#ff4f8b;text-align:center;margin:0 0 8px;font-size:16px}.mission-panel.completed h2{color:#2f9e78}.mission-panel ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mission-panel li{grid-template-columns:30px 1fr auto;align-items:center;gap:2px 6px;display:grid}.mission-panel li .goal-icon{grid-row:span 2;width:30px;height:30px}.mission-name{font-size:13px;font-weight:800;line-height:1.15}.mission-count{font-size:13px;font-weight:900}.mission-bar{background:#f1e6f3;border-radius:3px;grid-column:2/4;height:6px;overflow:hidden}.mission-bar i{background:linear-gradient(90deg,#ffb300,#ff4f8b);height:100%;transition:width .4s;display:block}.mission-panel li.done{color:#2f9e78;animation:.6s ease-out missionDone}.mission-panel li.done .mission-bar i{background:#43c08a}.complete-ask{z-index:9;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff8c;border-radius:22px;place-items:center;padding:8%;display:grid;position:absolute;inset:0}.complete-card{text-align:center;background:#fff;border-radius:26px;padding:18px 18px 16px;animation:.35s pop;box-shadow:0 10px 30px #5a3a6340,inset 0 0 0 4px #ffe27a}.complete-card h2{color:#ff4f8b;margin:2px 0 6px;font-size:clamp(20px,6cqw,28px)}.complete-card p{margin:4px 0;font-weight:700}.complete-card .complete-moves{color:#8d82aa;font-size:14px}.complete-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px;display:flex}.complete-actions button.big{padding:12px 28px;font-size:20px}.modal{max-height:calc(100vh - 20px);overflow-y:auto}.mission-list{gap:4px;width:min(100%,300px);margin:6px auto;padding:0;list-style:none;display:grid}.mission-list li{text-align:left;border-radius:12px;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:3px 10px 3px 6px;font-size:14px;font-weight:800;display:grid}.mission-list .goal-icon{width:26px;height:26px}.mission-list li.done{color:#2f9e78;background:#e9f9f1}.mission-list li.missing{color:#e0245e;background:#fff0f5}.lost-reason{color:#e0245e;font-weight:900}.modal p.lost-reason{margin:4px 0}.objectives-done{color:#2f9e78;font-size:16px}.reward-scores{color:#8d82aa;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 12px;font-size:14px;font-weight:800;display:flex}.reward-scores b{color:#5a3a63;font-size:20px}.reward-scores .met{color:#2f9e78}.reward-scores .met:before{content:"✓ "}@media (prefers-reduced-motion:reduce){.mission-chip.done,.mission-panel li.done,.complete-card{animation:none}}.chip-coin{flex:none;width:24px;height:24px}.chip-coin.done{filter:drop-shadow(0 0 4px #ffd23f)}.stage-panel{display:none}@media (width>=1024px) and (height>=600px) and (hover:hover) and (pointer:fine){.stage-panel{gap:8px;max-height:100%;display:grid;overflow-y:auto}}.stage-section{background:#fff9;border-radius:16px;padding:8px 8px 6px;box-shadow:inset 0 0 0 2px #f6e3ee}.stage-section h3{color:#5a3a63;align-items:center;gap:6px;margin:0 0 6px;font-size:14px;display:flex}.stage-section h3 .medal{width:24px;height:24px}.stage-section.active{box-shadow:inset 0 0 0 3px #ffd6e8,0 3px 10px #ff4f8b22}.stage-section.stage-silver.active{box-shadow:inset 0 0 0 3px #d6dde9,0 3px 10px #8fa2c433}.stage-section.stage-gold.active{box-shadow:inset 0 0 0 3px #ffe27a,0 3px 10px #ffb30033}.stage-section.done{background:#e9f9f1;box-shadow:inset 0 0 0 2px #bfe9d3}.stage-section.done h3{color:#2f9e78;margin:0}.stage-section.closed{opacity:.55;filter:grayscale(.6)}.stage-section.closed h3{margin:0}.stage-tick{color:#2f9e78;margin-left:auto}.stage-closed{color:#8d82aa;margin:4px 0 0;font-size:12px;font-weight:700}.stage-points{color:#b9770e;font-size:12px;font-weight:900;display:block!important}.stage-celebrate{text-align:center;color:#b9770e;margin:0;font-weight:900}.complete-card .ask-medal{width:56px;height:56px}.ask-needs{color:#7a5a86;gap:3px;margin:6px 0;padding:0;font-size:14px;font-weight:800;list-style:none;display:grid}.ask-needs li{justify-content:center;align-items:center;gap:6px;display:flex}.ask-needs .goal-icon{width:22px;height:22px}.stage-lines{text-align:left;gap:4px;width:min(100%,320px);margin:4px auto;padding:0;list-style:none;display:grid}.stage-line{border-radius:12px;align-items:center;gap:8px;padding:3px 8px;font-size:13px;font-weight:800;display:flex}.stage-line .medal{flex:none;width:24px;height:24px}.stage-line.done{color:#2f9e78;background:#e9f9f1}.stage-line.open{color:#8d82aa;background:#f6f2fb}.mission-list[aria-label]{margin-top:2px}.summary-overlay{z-index:40}.level-summary{text-align:center;background:#fff;border-radius:26px;width:min(92vw,420px);max-height:calc(100vh - 32px);padding:18px 16px 16px;animation:.3s pop;position:relative;overflow-y:auto;box-shadow:0 10px 40px #0004}.level-summary h2{color:#ff4f8b;margin:0 0 6px}.level-summary .close-x{position:absolute;top:8px;right:10px}.summary-stage{text-align:left;background:#faf6fd;border-radius:16px;margin:8px 0;padding:8px}.summary-stage h3{align-items:center;gap:6px;margin:0 0 4px;font-size:15px;display:flex}.summary-stage h3 .medal{width:26px;height:26px}.summary-stage.done{background:#e9f9f1}.summary-snap{color:#2f9e78;margin:2px 0 4px;font-weight:900}.summary-legacy{color:#8d82aa;margin:2px 0;font-size:12px}.summary-stats{color:#7a5a86;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-weight:800;display:flex}.summary-play{margin-top:6px}@media (prefers-reduced-motion:reduce){.level-summary{animation:none}}.mission-list-title{color:#b9770e;text-transform:uppercase;letter-spacing:.4px;margin:6px 0 2px;font-size:12px;font-weight:900}
