@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2) format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2) format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2) format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.woff) format("woff")}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg-bottom, #e4f6ff);font-family:Fredoka,sans-serif;font-weight:500;color:var(--outline);touch-action:manipulation;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}#app{position:fixed;inset:0;height:100dvh;overflow:hidden}button{font:inherit;color:inherit;border:0;background:none;padding:0;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none;outline:none}button:focus,button:focus-visible{outline:none}::-webkit-scrollbar{display:none}::selection{background:transparent}svg{display:block;overflow:visible}.outlined{font-weight:700;color:var(--white);-webkit-text-stroke:6px var(--outline);paint-order:stroke fill;letter-spacing:.01em}.num{font-variant-numeric:tabular-nums}.screen{position:absolute;inset:0;overflow:hidden;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.9,.3,1.1)}.screen.enter{opacity:0;transform:scale(1.04)}.screen.leave{opacity:0;transform:scale(.97);pointer-events:none}.bg{position:absolute;inset:0;background:linear-gradient(var(--bg-top),var(--bg-bottom))}.clouds{position:absolute;inset:0;pointer-events:none;overflow:hidden}.cloud{position:absolute;animation:drift linear infinite;will-change:transform}@keyframes drift{0%{transform:translate(-160px)}to{transform:translate(calc(100vw + 160px))}}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:20px;border:3px solid var(--outline);background:var(--primary);box-shadow:0 6px 0 var(--primary-lip),0 6px 0 3px var(--outline),0 14px 14px -4px var(--shadow);font-size:26px;font-weight:700;transform:translateY(0);transition:transform 80ms ease,box-shadow 80ms ease}.btn:before{content:"";position:absolute;left:12px;top:6px;width:34%;height:7px;border-radius:999px;background:var(--white);opacity:.55}.btn.secondary{background:var(--secondary);box-shadow:0 6px 0 var(--secondary-lip),0 6px 0 3px var(--outline),0 14px 14px -4px var(--shadow)}.btn.small{min-height:46px;padding:0 18px;font-size:20px;border-radius:12px}.btn.icon-only{padding:0;width:52px;min-height:52px;border-radius:999px}.btn.pressed{transform:translateY(4px);box-shadow:0 2px 0 var(--primary-lip),0 2px 0 3px var(--outline),0 6px 8px -4px var(--shadow)}.btn.secondary.pressed{box-shadow:0 2px 0 var(--secondary-lip),0 2px 0 3px var(--outline),0 6px 8px -4px var(--shadow)}.btn[disabled]{background:var(--disabled);box-shadow:0 6px 0 var(--secondary-lip),0 6px 0 3px var(--outline)}.btn .outlined{-webkit-text-stroke-width:5px}.pill{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px 0 6px;border-radius:999px;background:var(--white);border:3px solid var(--outline);box-shadow:0 4px 0 var(--secondary-lip),0 4px 0 3px var(--outline),0 10px 12px -4px var(--shadow);font-size:21px;font-weight:700;white-space:nowrap}.pill .outlined{-webkit-text-stroke-width:5px}.pill.board-pill{padding:0 14px;background:var(--primary);box-shadow:0 4px 0 var(--primary-lip),0 4px 0 3px var(--outline),0 10px 12px -4px var(--shadow)}.world{position:absolute;inset:0}.board-wrap{position:absolute;left:0;top:0;width:100%;will-change:transform}.board-svg{width:100%;height:auto}.tile-num{font-family:Fredoka,sans-serif;font-weight:600;font-size:22px;fill:var(--outline);fill-opacity:.55}.hl{opacity:0;transition:opacity .16s ease}.hl.on{opacity:1}.coin-spin{animation:coin-spin 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes coin-spin{0%,60%,to{transform:scaleX(1)}75%{transform:scaleX(.15)}90%{transform:scaleX(1)}}.coin-shine{animation:shine 3.2s ease-in-out infinite}@keyframes shine{0%,70%{transform:rotate(20deg) translate(0)}to{transform:rotate(20deg) translate(60px)}}.coin-faded{opacity:.35;filter:grayscale(1)}.coin-gone{display:none}.sway{animation:sway 3.4s ease-in-out infinite alternate}@keyframes sway{0%{transform:rotate(-1.4deg)}to{transform:rotate(1.4deg)}}.snake-tongue{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);animation:tongue 4.2s ease-in-out infinite}@keyframes tongue{0%,80%,to{transform:scaleY(0)}84%,92%{transform:scaleY(1)}88%{transform:scaleY(.6)}}.flame{transform-box:fill-box;transform-origin:50% 100%;animation:flame .9s ease-in-out infinite alternate}@keyframes flame{0%{transform:scale(1)}to{transform:scale(.88,1.12)}}.twinkle{transform-box:fill-box;transform-origin:center;animation:twinkle 2.2s ease-in-out infinite alternate}@keyframes twinkle{0%{transform:scale(.8) rotate(0);opacity:.7}to{transform:scale(1.1) rotate(20deg);opacity:1}}.pip .pip-eye{transform-box:fill-box;transform-origin:center;transition:transform 70ms ease}.pip.blink .pip-eye{transform:scaleY(.1)}.pip-body{transform-origin:0 0}.chaser-teeth{transform-box:fill-box;transform-origin:50% 100%}.chaser.snap .chaser-teeth{animation:snap .26s ease-in 2}@keyframes snap{0%,to{transform:translateY(0)}50%{transform:translateY(26px)}}.chaser-head{animation:chaser-bob 1.6s ease-in-out infinite alternate}@keyframes chaser-bob{0%{transform:translateY(0)}to{transform:translateY(8px)}}.topbar{position:absolute;left:0;right:0;top:0;padding:calc(env(safe-area-inset-top) + 10px) 10px 0;display:flex;align-items:center;gap:6px;pointer-events:none;z-index:5}.topbar>*{pointer-events:auto}.topbar .spacer{flex:1}.topbar .pill{height:38px;font-size:18px;padding:0 11px 0 5px;gap:4px}.topbar .pill.board-pill{padding:0 11px}.topbar .pill .icon{width:24px;height:24px}.topbar .spacer{min-width:0}.btn.pause-btn{flex:none}.btn.pause-btn{width:42px;min-height:42px;height:42px;border-radius:999px;padding:0;background:var(--push);box-shadow:0 4px 0 var(--push-shade),0 4px 0 3px var(--outline),0 10px 12px -4px var(--shadow)}.btn.pause-btn:before{display:none}.tray{position:absolute;left:0;right:0;bottom:0;height:33.4dvh;min-height:210px;padding-bottom:env(safe-area-inset-bottom);z-index:4;touch-action:none}.tray-bg{position:absolute;inset:18px 0 0;background:linear-gradient(#ffffffeb,#fffffffa);border-top:3px solid var(--outline);border-radius:28px 28px 0 0;box-shadow:0 -10px 20px -8px var(--shadow)}.tray-bg:before{content:"";position:absolute;left:50%;top:10px;width:56px;height:6px;margin-left:-28px;border-radius:999px;background:var(--secondary-lip)}.die-wrap{position:absolute;left:50%;top:50%;width:128px;height:140px;margin:-62px 0 0 -64px;transition:opacity .15s ease,filter .15s ease;will-change:transform}.die-wrap.asleep{opacity:.55}.die-wrap.live .die-svg{animation:die-live .9s ease-in-out infinite alternate}@keyframes die-live{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.die-num{font-family:Fredoka,sans-serif;font-weight:700;font-size:68px;fill:var(--white);stroke:var(--outline);stroke-width:7px;stroke-linejoin:round;paint-order:stroke fill}.die-num.on-plain{fill:var(--outline);stroke:var(--white);stroke-width:0}.mini-die-num{font-family:Fredoka,sans-serif;font-weight:700;font-size:22px}.tap-label{position:absolute;left:0;right:0;top:32px;text-align:center;font-size:22px;pointer-events:none;transition:opacity .2s ease}.tap-label .outlined{-webkit-text-stroke-width:5px}.hand{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:20px 0 0 20px;pointer-events:none;animation:hand 1.1s ease-in-out infinite}@keyframes hand{0%,to{transform:translate(10px,14px) scale(1)}45%{transform:translate(0) scale(.92)}55%{transform:translate(0) scale(.92)}}.slowmo-btn{position:absolute;right:14px;bottom:calc(env(safe-area-inset-bottom) + 16px);width:64px;height:64px;border-radius:20px;background:var(--white);border:3px solid var(--outline);box-shadow:0 5px 0 var(--secondary-lip),0 5px 0 3px var(--outline);display:flex;align-items:center;justify-content:center;z-index:6;touch-action:none;transition:transform 80ms ease}.slowmo-btn.pressed{transform:translateY(4px)}.slowmo-btn.used,.slowmo-btn.off{opacity:.45}.slowmo-btn .badge{position:absolute;right:-8px;top:-8px;min-width:26px;height:26px;border-radius:999px;background:var(--snake);border:3px solid var(--outline);font-size:15px;font-weight:700;color:var(--white);display:flex;align-items:center;justify-content:center}.equipped-chip{position:absolute;left:14px;bottom:calc(env(safe-area-inset-bottom) + 18px);pointer-events:none;opacity:.9}.warn-edge{position:absolute;inset:0;pointer-events:none;z-index:3;box-shadow:inset 0 0 0 0 var(--snake);opacity:0;transition:opacity .25s ease}.warn-edge.on{opacity:1;animation:warn .9s ease-in-out infinite}.warn-edge.danger{animation-duration:.5s}@keyframes warn{0%,to{box-shadow:inset 0 0 30px 6px #ff4d5e59}50%{box-shadow:inset 0 0 60px 18px #ff4d5ebf}}.fx{position:absolute;inset:0;pointer-events:none;z-index:7;overflow:hidden}.float-text{position:absolute;font-size:34px;white-space:nowrap;transform:translate(-50%,-50%);will-change:transform,opacity}.float-text .outlined{-webkit-text-stroke-width:7px}.particle{position:absolute;left:0;top:0;border-radius:999px;border:2px solid var(--outline);will-change:transform,opacity}.particle.dust{border:0;background:var(--white);opacity:.9}.particle.confetti{border-radius:3px}.fly-coin{position:absolute;left:0;top:0;width:30px;height:30px;will-change:transform;z-index:9}.overlay{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 16px) 20px calc(env(safe-area-inset-bottom) + 20px);background:#3b2a4a73;animation:fade-in .25s ease both}.overlay.closing{animation:fade-out .22s ease both}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.card{position:relative;width:min(340px,100%);background:var(--white);border:3px solid var(--outline);border-radius:28px;box-shadow:0 8px 0 var(--secondary-lip),0 8px 0 3px var(--outline),0 24px 30px -10px #3b2a4a66;padding:26px 20px 24px;text-align:center;animation:pop-in .38s cubic-bezier(.2,1.4,.4,1) both}@keyframes pop-in{0%{transform:scale(.6);opacity:0}}.card h2{margin:0 0 6px;font-size:40px;line-height:1.05}.card p{margin:6px 0;font-size:20px}.card .actions{display:flex;flex-direction:column;gap:18px;align-items:center;margin-top:18px}.card .actions .btn{width:100%}.ribbon{position:relative;margin:-58px auto 10px;width:calc(100% + 36px);left:-18px;height:62px;display:flex;align-items:center;justify-content:center;font-size:30px;z-index:2}.ribbon svg{position:absolute;inset:0;width:100%;height:100%}.ribbon span{position:relative;margin-top:-6px}.rays{position:absolute;left:50%;top:38%;width:760px;height:760px;margin:-380px 0 0 -380px;pointer-events:none;animation:spin 14s linear infinite;opacity:.55}@keyframes spin{to{transform:rotate(360deg)}}.stars-row{display:flex;justify-content:center;align-items:flex-end;gap:4px;margin:4px 0 6px}.stars-row .slot{position:relative;width:64px;height:64px}.stars-row .slot:nth-child(2){width:78px;height:78px;margin-bottom:10px}.stars-row .slot svg{position:absolute;inset:0;width:100%;height:100%}.stars-row .fill{position:absolute;inset:0;transform:scale(0)}.stars-row .fill.pop{animation:star-pop .42s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes star-pop{0%{transform:scale(0) rotate(-40deg)}to{transform:scale(1) rotate(0)}}.big-time{font-size:46px;line-height:1.1;margin:2px 0}.stat-row{display:flex;justify-content:center;gap:10px;margin-top:8px;flex-wrap:wrap}.stat-row .pill{height:38px;font-size:19px}.muted{opacity:.75}.link-btn{font-size:20px;font-weight:600;padding:10px 18px;min-height:44px;opacity:.85}.fail-title{animation:bounce-in .6s cubic-bezier(.2,1.6,.4,1) both}@keyframes bounce-in{0%{transform:scale(.3) translateY(-30px)}}.dizzy{display:flex;justify-content:center;animation:dizzy 1.4s ease-in-out infinite alternate;margin:-6px auto 0}@keyframes dizzy{0%{transform:rotate(-8deg)}to{transform:rotate(8deg)}}.countdown{position:absolute;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:140px}.countdown span{animation:count .9s ease-out both}.countdown .outlined{-webkit-text-stroke-width:12px}@keyframes count{0%{transform:scale(1.8);opacity:0}30%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}.intro-art{display:flex;justify-content:center;margin:0 0 6px}.intro-tap{margin-top:14px;font-size:18px;opacity:.6;animation:pulse 1.2s ease-in-out infinite alternate}@keyframes pulse{to{opacity:1}}.splash{display:flex;align-items:center;justify-content:center;z-index:50}.logo{position:relative;text-align:center;font-size:76px;line-height:.95}.logo .outlined{-webkit-text-stroke-width:10px}.logo-line{display:flex;align-items:flex-end;justify-content:center}.logo-die{width:.72em;height:.75em;margin:0 .02em .1em;animation:logo-die 1.2s ease-in-out infinite alternate}@keyframes logo-die{0%{transform:rotate(-10deg)}to{transform:rotate(10deg) translateY(-4px)}}.logo-line2{gap:.18em;align-items:baseline}.logo-the{font-size:.5em}.logo-die-word{color:var(--primary)}.splash .logo{animation:logo-in .7s cubic-bezier(.2,1.5,.4,1) both}@keyframes logo-in{0%{transform:scale(.4) rotate(-6deg);opacity:0}}.splash .pip-splash{position:absolute;bottom:18%;left:50%;margin-left:-45px;animation:hop .6s ease-in-out infinite alternate}@keyframes hop{to{transform:translateY(-16px)}}.map-top{position:absolute;left:0;right:0;top:0;z-index:5;padding-bottom:14px;background:linear-gradient(var(--bg-top) 70%,transparent)}.map-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:none}.map-head{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top) + 10px) 12px 10px}.map-head .spacer{flex:1}.map-logo{font-size:30px;line-height:.9;transform-origin:left center}.map-logo .logo{font-size:30px;text-align:left}.map-logo .logo .outlined{-webkit-text-stroke-width:6px}.map-logo .logo-line{justify-content:flex-start}.daily-card{margin:4px 16px 6px;padding:14px 14px 14px 16px;display:flex;align-items:center;gap:12px;border-radius:20px;background:var(--white);border:3px solid var(--outline);box-shadow:0 6px 0 var(--secondary-lip),0 6px 0 3px var(--outline),0 14px 16px -6px var(--shadow);text-align:left;width:calc(100% - 32px)}.daily-card .txt{flex:1}.daily-card .title{font-size:22px;font-weight:700}.daily-card .sub{font-size:16px;opacity:.8;margin-top:2px;display:flex;align-items:center;gap:4px}.daily-card.locked{opacity:.75}.map-path{position:relative;margin:0 auto;width:100%;max-width:420px}.map-path>svg{position:absolute;inset:0;width:100%;height:100%}.node{position:absolute;width:74px;height:74px;margin:-37px 0 0 -37px;border-radius:999px;border:3px solid var(--outline);background:var(--primary);box-shadow:0 6px 0 var(--primary-lip),0 6px 0 3px var(--outline),0 14px 14px -6px var(--shadow);display:flex;align-items:center;justify-content:center;font-size:32px;transition:transform 80ms ease}.node:before{content:"";position:absolute;left:12px;top:8px;width:22px;height:10px;border-radius:999px;background:var(--white);opacity:.6;transform:rotate(-25deg)}.node.done{background:var(--ladder);box-shadow:0 6px 0 var(--ladder-shade),0 6px 0 3px var(--outline),0 14px 14px -6px var(--shadow)}.node.locked{background:var(--disabled);box-shadow:0 6px 0 var(--secondary-lip),0 6px 0 3px var(--outline)}.node.current{animation:node-pulse 1s ease-in-out infinite alternate}@keyframes node-pulse{to{transform:scale(1.08)}}.node.pressed{transform:translateY(4px)}.node .outlined{-webkit-text-stroke-width:6px}.node-stars{position:absolute;top:62px;left:50%;transform:translate(-50%);display:flex;gap:0}.node-stars .icon:nth-child(2){margin-top:6px}.map-pip{position:absolute;margin:-80px 0 0 -30px;pointer-events:none;animation:hop .7s ease-in-out infinite alternate}.theme-label{position:absolute;left:0;right:0;text-align:center;font-size:22px;opacity:.9}.theme-label .outlined{-webkit-text-stroke-width:5px}.soon{position:absolute;left:50%;transform:translate(-50%);text-align:center;font-size:20px;width:260px}.shop-list{position:absolute;inset:0;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 76px) 16px calc(env(safe-area-inset-bottom) + 28px);touch-action:pan-y}.shop-head{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 10px) 12px 10px}.shop-head h1{margin:0;font-size:34px;flex:1}.shelf{position:relative;margin:18px 0 34px}.shelf:after{content:"";position:absolute;left:-6px;right:-6px;bottom:-18px;height:16px;border-radius:6px;background:var(--wood);border:3px solid var(--outline);box-shadow:0 6px 0 var(--wood-shade),0 6px 0 3px var(--outline)}.die-card{position:relative;display:flex;align-items:center;gap:12px;padding:14px 12px;background:var(--white);border:3px solid var(--outline);border-radius:20px;box-shadow:0 6px 0 var(--secondary-lip),0 6px 0 3px var(--outline);text-align:left}.die-card .info{flex:1;min-width:0}.die-card .name{font-size:22px;font-weight:700;line-height:1.1}.die-card .blurb{font-size:15px;opacity:.8}.die-card .faces{display:flex;gap:3px;margin-top:6px;flex-wrap:wrap}.die-card .speed{font-size:14px;font-weight:600;margin-top:4px;opacity:.85}.die-card .btn{flex:none;min-width:96px}.die-card .hero-die{flex:none;width:64px}.price-pill{display:inline-flex;align-items:center;gap:4px;font-size:20px;font-weight:700}.price-pill.poor{color:var(--snake)}.equipped-tag{display:inline-flex;align-items:center;gap:4px;font-size:18px;font-weight:700;min-width:96px;justify-content:center}.rotate{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:linear-gradient(var(--bg-top),var(--bg-bottom));font-size:30px;text-align:center}@media (orientation: landscape) and (max-height: 520px){.rotate{display:flex}}.toast{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 40px);transform:translate(-50%);z-index:60;padding:12px 20px;border-radius:999px;background:var(--outline);color:var(--white);font-size:18px;font-weight:600;animation:fade-in .2s ease both;white-space:nowrap}.debug{position:absolute;left:8px;top:calc(env(safe-area-inset-top) + 64px);z-index:90;width:230px;padding:10px;border-radius:12px;background:#fffffff0;border:2px solid var(--outline);font-size:13px;line-height:1.35;user-select:text;-webkit-user-select:text}.debug.collapsed>:not(.debug-toggle){display:none}.debug label{display:block;margin-top:6px}.debug input[type=range]{width:100%}.debug .row{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.debug button{padding:4px 8px;border-radius:6px;border:2px solid var(--outline);background:var(--primary);font-size:13px;font-weight:600}.debug pre{margin:6px 0 0;font-family:Fredoka,sans-serif;font-size:12px;white-space:pre-wrap}
