html,body{margin:0;height:100%;background:#000;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{position:absolute;overflow:hidden;touch-action:none;cursor:pointer}#app canvas{display:block}.hud{position:absolute;inset:0;pointer-events:none;color:#fff;text-align:center;text-shadow:0 2px 0 rgba(0,0,0,.35)}.hud-distance{position:absolute;left:0;right:0;top:max(16px,env(safe-area-inset-top));font-size:44px;font-weight:900;letter-spacing:1px;transform-origin:50% 50%;-webkit-text-stroke:4px rgba(0,0,0,.45);paint-order:stroke fill;transition:color .3s}.hud-distance.tick{will-change:transform;animation:counter-tick var(--tick-seconds, .12s) ease-out}.hud-distance.major{will-change:transform;animation:counter-major var(--major-seconds, .28s) cubic-bezier(.34,1.56,.64,1)}.hud-distance.record{color:var(--record-color, #f2c14e)}@keyframes counter-tick{40%{transform:scale(var(--tick-scale, 1.06))}}@keyframes counter-major{0%{transform:scale(1);color:var(--major-color, #f2c14e)}30%{transform:scale(var(--major-scale, 1.35));color:var(--major-color, #f2c14e)}to{transform:scale(1)}}.hud-best{position:absolute;left:50%;top:calc(max(16px,env(safe-area-inset-top)) + 58px);transform:translate(-50%);padding:2px 12px;border-radius:12px;background:#2b2b2b8c;color:#f2c14e;font-size:17px;font-weight:800;white-space:nowrap;text-shadow:0 1px 0 rgba(0,0,0,.6)}.hud-best:empty,.hud-best.hidden{display:none}.hud-goal{position:absolute;left:50%;top:calc(max(16px,env(safe-area-inset-top)) + 90px);display:flex;align-items:center;gap:6px;padding:3px 12px 3px 6px;border-radius:999px;background:#2b1e1499;box-shadow:0 0 0 2px #f2c14e80 inset;color:#f1eadb;font-size:15px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;transform:translate(-50%);opacity:0;visibility:hidden;transition:opacity .25s}.hud-goal.visible{opacity:1;visibility:visible}.hud-goal-icon{width:18px;height:18px;border-radius:50%;background:repeating-linear-gradient(100deg,#e9c25b 0 3px,#c99a35 3px 5px);box-shadow:0 0 0 2px #5c3a1e inset;flex:none}.hud-hint{position:absolute;left:0;right:0;bottom:18%;font-size:24px;font-weight:800;white-space:pre-line;opacity:0;transition:opacity .25s}.hud-hint.visible{opacity:1;animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.06)}}.debug-overlay{position:absolute;left:6px;bottom:6px;padding:4px 6px;background:#0000008c;color:#9f9;font:11px/1.35 ui-monospace,Menlo,monospace;white-space:pre;pointer-events:none}.boot-error{color:#f66;padding:16px;white-space:pre-wrap}html,body,#app,#app canvas{touch-action:none;-webkit-touch-callout:none}.launch-gauge{position:absolute;pointer-events:none;opacity:0;transition:opacity .08s}.launch-gauge.visible{opacity:1}.hud-charges{position:absolute;top:max(16px,env(safe-area-inset-top));right:14px;display:flex;gap:6px}.feather{width:var(--feather-w, 20px);height:var(--feather-h, 40px);box-sizing:border-box;border-radius:50%/70% 70% 30% 30%;background:#fff;border:var(--feather-outline, 2px) solid var(--feather-outline-color, #2b2b2b);border-color:#2b2b2b99;box-shadow:0 2px #0000004d;transform:rotate(18deg);transition:opacity .15s,transform .25s,background-color .15s}.feather.spent{background:transparent;opacity:1;border-style:dashed;border-color:rgba(43,43,43,var(--feather-spent-opacity, .5));box-shadow:inset 0 0 0 40px #2b2b2b2e;transform:rotate(18deg) scale(.82)}.feather.pop{will-change:transform;animation:feather-pop var(--feather-pop-seconds, .15s) ease-out}@keyframes feather-pop{0%{transform:rotate(18deg) scale(var(--feather-pop-scale, 1.4))}to{transform:rotate(18deg) scale(.82)}}.feather.fresh:not(.pop):not(.spent){position:relative;will-change:transform;animation:feather-new var(--feather-new-seconds, .5s) cubic-bezier(.2,.8,.3,1.2) var(--feather-new-delay, .2s) backwards}.feather.fresh:not(.pop):not(.spent):after{content:"";position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;border:4px dotted #fff3c4;opacity:0;pointer-events:none;animation:feather-pouf calc(var(--feather-new-seconds, .5s) * .9) ease-out calc(var(--feather-new-delay, .2s) + var(--feather-new-seconds, .5s) * .3) both}@keyframes feather-new{0%{transform:rotate(-40deg) scale(0);background:#ffd65a;opacity:1}50%{transform:rotate(30deg) scale(var(--feather-new-scale, 1.3));background:#ffd65a;opacity:1}80%{transform:rotate(18deg) scale(1);background:#ffe9a8;opacity:1}to{transform:rotate(18deg) scale(1)}}@keyframes feather-pouf{0%{opacity:.95;transform:rotate(-18deg) scale(.3)}to{opacity:0;transform:rotate(-18deg) scale(1.5)}}.hud-charges.idle .feather:not(.spent){opacity:.55;background:#b9b9b9;transform:rotate(18deg) scale(.85)}.hud-charges.nope{animation:nope .32s ease-out}.hud-charges.nope .feather:not(.spent){animation:nope-feather .32s ease-out}@keyframes nope{15%{transform:translate(-7px) rotate(-6deg)}40%{transform:translate(6px) rotate(5deg)}65%{transform:translate(-3px) rotate(-2deg)}}@keyframes nope-feather{0%,50%{background:#8a8a8a;border-color:#2b2b2b}}.hud-charges.shake{animation:shake .3s linear}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.hud-banner{position:absolute;left:0;right:0;top:30%;display:flex;flex-direction:column;align-items:center;opacity:0;pointer-events:none}.hud-banner-title{font-size:46px;font-weight:900;letter-spacing:2px;color:#f2c14e;-webkit-text-stroke:5px #7a1020;paint-order:stroke fill}.hud-banner-detail{font-size:30px;font-weight:900;color:#fff;-webkit-text-stroke:4px #2b2b2b;paint-order:stroke fill}.hud-banner.perfect .hud-banner-title{color:#e63946;font-size:58px;-webkit-text-stroke-color:#3a0610}.hud-banner.perfect_first .hud-banner-title{color:#e63946;font-size:62px;letter-spacing:0;-webkit-text-stroke:7px #3a0610;transform:rotate(-4deg)}.hud-banner.near_miss .hud-banner-title{color:#fff;font-size:54px;-webkit-text-stroke-color:#2b2b2b}.hud-banner.record .hud-banner-title{color:#f2c14e;font-size:44px;-webkit-text-stroke-color:#5c3a1e}.hud-banner.zone .hud-banner-title{color:#fff;font-size:30px;letter-spacing:4px;-webkit-text-stroke:4px #5c3a1e}.hud-banner.zone .hud-banner-detail{color:#f2c14e;font-size:48px;letter-spacing:1px;text-transform:uppercase;-webkit-text-stroke:6px #5c3a1e}@supports not (paint-order: stroke){.hud-banner-title,.hud-banner-detail,.hud-distance{-webkit-text-stroke:0;text-shadow:2px 0 0 #2b2b2b,-2px 0 0 #2b2b2b,0 2px 0 #2b2b2b,0 -2px 0 #2b2b2b,2px 2px 0 #2b2b2b,-2px -2px 0 #2b2b2b,2px -2px 0 #2b2b2b,-2px 2px 0 #2b2b2b}}.hud-banner.visible{will-change:transform,opacity;animation:launch-pop ease-out forwards}@keyframes launch-pop{0%{opacity:0;transform:scale(.4)}12%{opacity:1;transform:scale(1.25)}25%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(1) translateY(-20px)}}.hud-flash{position:absolute;inset:0;background:#fff;opacity:0}.hud-flash.active{animation:flash linear forwards}@keyframes flash{0%{opacity:var(--flash-opacity, .3)}to{opacity:0}}.altitude-chip{position:absolute;left:0;bottom:max(18px,env(safe-area-inset-bottom));padding:4px 10px;border-radius:14px;background:#2b2b2bbf;color:#fff;font-size:18px;font-weight:800;white-space:nowrap;opacity:0;transition:opacity .15s}.altitude-chip.visible{opacity:1}.altitude-arrow{margin-right:4px}.bubble-wrap{position:absolute;left:0;top:0;pointer-events:none;visibility:hidden}.bubble-wrap.visible{visibility:visible}.bubble{position:relative;box-sizing:border-box;width:max-content;padding:8px 14px;background:#fff;color:#111;border:3px solid #111;border-radius:18px;font-weight:900;line-height:1.15;text-align:center;transform-origin:50% 100%}.bubble.pop{animation:bubble-pop ease-out}.bubble:after,.bubble:before{content:"";position:absolute;left:var(--tail-x, 50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;transform:translate(-50%)}.bubble:before{top:100%;border-top:16px solid #111}.bubble:after{top:calc(100% - 4px);border-left-width:7px;border-right-width:7px;border-top:12px solid #fff}.bubble.below{transform-origin:50% 0}.bubble.below:before{top:auto;bottom:100%;border-top:0;border-bottom:16px solid #111}.bubble.below:after{top:auto;bottom:calc(100% - 4px);border-top:0;border-bottom:12px solid #fff}@keyframes bubble-pop{0%{transform:scale(.6)}60%{transform:scale(1.1)}to{transform:scale(1)}}.hud-hint.pull{bottom:max(6px,env(safe-area-inset-bottom));height:13%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;font-weight:900;line-height:1;-webkit-text-stroke:3px rgba(0,0,0,.45);paint-order:stroke fill}.hud-pull-text{font-size:36px}.hud-pull-arrow{font-size:58px}.hud.title .hud-distance,.hud.title .hud-best,.hud.title .hud-charges,.hud.title .hud-goal{visibility:hidden}.hud-charges.many{display:grid;grid-template-columns:repeat(3,calc(var(--feather-w, 20px) * .85));grid-auto-rows:calc(var(--feather-h, 40px) * .8);gap:2px 5px;direction:rtl}.hud-charges.many .feather{width:calc(var(--feather-w, 20px) * .85);height:calc(var(--feather-h, 40px) * .8)}.touch-ring{position:absolute;border:4px solid rgba(255,255,255,.9);border-radius:50%;opacity:0;pointer-events:none}.touch-ring.active{animation:touch-ring ease-out forwards}@keyframes touch-ring{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.2)}}.debug-export{display:block;margin-top:3px;padding:1px 6px;font:inherit;color:#9f9;background:#0009;border:1px solid #9f9;border-radius:3px;pointer-events:auto;cursor:pointer}.debug-panel{position:fixed;top:0;left:0;bottom:0;width:330px;box-sizing:border-box;padding:8px 10px;overflow-y:auto;background:#14161aeb;color:#ddd;font:12px/1.4 system-ui,sans-serif;z-index:20;-webkit-user-select:text;user-select:text}.debug-panel.collapsed{display:none}.debug-panel h2{margin:0 0 6px 28px;font-size:13px}.debug-row{display:flex;align-items:center;gap:6px;margin:4px 0}.debug-row label{width:70px;flex:none}.debug-row input[type=number],.debug-row select{flex:1;min-width:0}.debug-panel textarea{width:100%;box-sizing:border-box;font:11px/1.3 ui-monospace,Menlo,monospace}.debug-panel button{margin:4px 4px 0 0}.debug-panel button.primary{display:block;width:100%;font-weight:600}.debug-value{width:118px;flex:none}.debug-status{margin-top:6px;white-space:pre-wrap;color:#9f9}.debug-status.error{color:#ff8a8a}.debug-toggle{position:fixed;top:6px;left:6px;z-index:21}.purchases-toggle{top:max(6px,env(safe-area-inset-top));left:max(6px,env(safe-area-inset-left));opacity:.55;font-size:16px;line-height:1;padding:4px 7px;border-radius:6px;border:0;background:#14161a99;color:#ddd}.purchases-section .debug-row label{width:96px}.purchases-list{margin:6px 0}.debug-panel .purchases-section{padding-top:max(0px,env(safe-area-inset-top))}.end-screen{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom) + 10px);width:min(92%,380px);box-sizing:border-box;padding:12px 14px 10px;border-radius:24px;background:linear-gradient(to bottom,#4a3322f0,#2b1e14f0);box-shadow:0 0 0 3px #f2c14e inset,0 0 0 6px #5c3a1ee6 inset,0 8px #00000038;color:#fff;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,24px);visibility:hidden}.end-screen.visible{visibility:visible;will-change:transform,opacity;animation:end-in var(--end-in-seconds, .3s) cubic-bezier(.34,1.4,.64,1) forwards}@keyframes end-in{0%{opacity:0;transform:translate(-50%,24px) scale(.92)}to{opacity:1;transform:translate(-50%) scale(1)}}.end-record{display:none;position:absolute;left:50%;top:-20px;padding:5px 24px 6px;transform:translate(-50%) rotate(-2deg);background:#c8372d;clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%);font-size:21px;font-weight:900;letter-spacing:2px;white-space:nowrap;color:#f2c14e;-webkit-text-stroke:4px #5c1a14;paint-order:stroke fill}.end-screen.record{padding-top:22px}.end-screen.record .end-record{display:block;animation:ribbon-in .5s cubic-bezier(.34,1.8,.64,1) both}@keyframes ribbon-in{0%{transform:translate(-50%) rotate(-2deg) scale(.3)}to{transform:translate(-50%) rotate(-2deg) scale(1)}}.end-coins{display:flex;align-items:center;justify-content:center;gap:10px;font-size:34px;font-weight:900;color:#f2c14e;-webkit-text-stroke:5px #2b1e14;paint-order:stroke fill;font-variant-numeric:tabular-nums}.coin-icon{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 36% 34%,#fff1b8 0 18%,transparent 19%),#f2c14e;border:3px solid #5c3a1e;box-shadow:inset 0 -4px #c8955a;flex:none;box-sizing:border-box}.end-goal{margin-top:2px;font-size:18px;font-weight:900;color:#f2c14e;letter-spacing:.3px}.end-goal:empty{display:none}.end-action{margin-top:8px;font-size:20px;font-weight:800;opacity:0;transition:opacity .25s}.end-action.visible{opacity:1;animation:pulse 1s ease-in-out infinite}@supports not (paint-order: stroke){.end-record,.end-coins{-webkit-text-stroke:0;text-shadow:2px 0 0 #2b2b2b,-2px 0 0 #2b2b2b,0 2px 0 #2b2b2b,0 -2px 0 #2b2b2b}}.end-offer{display:none;position:relative;overflow:hidden;margin:10px auto 0;min-height:48px;padding:11px 20px 10px;border:0;border-radius:18px;background:linear-gradient(to bottom,#ffd970,#f2c14e 55%,#e0a93a);box-shadow:0 0 0 3px #5c3a1e inset,0 6px #5c3a1e,0 9px #0003;color:#3a2412;font:inherit;max-width:100%;box-sizing:border-box;font-size:clamp(16px,5.4vw,20px);font-weight:900;letter-spacing:.5px;line-height:1.15;text-wrap:balance;pointer-events:auto;cursor:pointer;touch-action:manipulation;opacity:0;transition:opacity .25s}.end-offer:after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);transform:translate(0) skew(-18deg);animation:shine-sweep 2.2s ease-in-out .4s infinite}.end-screen.has-offer .end-offer{display:block}.end-offer.visible{opacity:1;animation:offer-bob 1.1s ease-in-out infinite}@keyframes offer-bob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.04)}}@keyframes shine-sweep{0%{transform:translate(0) skew(-18deg)}45%,to{transform:translate(560%) skew(-18deg)}}.end-offer:active{animation:none;transform:translateY(4px);box-shadow:0 0 0 3px #5c3a1e inset,0 2px #5c3a1e}.end-screen.has-offer .end-action{margin-top:8px;font-size:15px;font-weight:700}.end-screen.has-offer .end-action.visible{opacity:.75;animation:none}.end-links{display:flex;justify-content:center;gap:10px;margin-top:10px}.end-shop{display:flex;align-items:center;gap:7px;min-height:44px;box-sizing:border-box;padding:0 16px 0 10px;border:0;border-radius:999px;background:#2b1e14b8;box-shadow:0 0 0 2px #f2c14e8c inset;color:#f1eadb;font:inherit;font-size:13px;font-weight:900;letter-spacing:1.5px;white-space:nowrap;pointer-events:auto;cursor:pointer;touch-action:manipulation;opacity:0;visibility:hidden;transition:opacity .25s}.end-shop.visible{opacity:.9;visibility:visible}.end-shop:active{transform:scale(.94)}.end-shop-icon{position:relative;width:20px;height:20px;border-radius:50%;background:#f2c14e;box-shadow:inset 0 -2px #c8955a;flex:none}.end-shop-icon:after{content:"";position:absolute;left:6px;top:7px;width:6px;height:6px;border-left:2.5px solid #3a2412;border-top:2.5px solid #3a2412;transform:rotate(45deg)}.end-screen.covered,.end-screen.covered .end-shop{visibility:hidden}.upgrade-screen{position:absolute;inset:0;z-index:6;display:none;pointer-events:auto;touch-action:none;background:linear-gradient(to bottom,#0000 55%,#140c064d 62%)}.upgrade-screen.visible{display:block}.upgrade-panel{position:absolute;left:0;right:0;bottom:0;max-height:40%;box-sizing:border-box;padding:9px 12px max(10px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:linear-gradient(to bottom,#4a3322,#2b1e14 30%);box-shadow:0 -3px #f2c14e,0 -7px #5c3a1ee6,0 -12px 24px #00000040;color:#fff;animation:upgrade-in .32s cubic-bezier(.34,1.3,.64,1)}@keyframes upgrade-in{0%{transform:translateY(70px);opacity:0}to{transform:translateY(0);opacity:1}}.upgrade-header{display:flex;align-items:center;justify-content:space-between;margin:0 2px 7px}.upgrade-title{font-size:20px;font-weight:900;letter-spacing:1.5px;color:#f1eadb;-webkit-text-stroke:4px #1c130c;paint-order:stroke fill;text-shadow:0 3px 0 rgba(0,0,0,.35)}.upgrade-coins{display:flex;align-items:center;gap:6px;padding:2px 12px 2px 3px;border-radius:999px;background:#00000059;box-shadow:0 0 0 2px #f2c14e99 inset;font-size:21px;font-weight:900;color:#f2c14e;-webkit-text-stroke:4px #1c130c;paint-order:stroke fill;font-variant-numeric:tabular-nums}.upgrade-coins.nope{animation:coins-nope .32s ease-out}@keyframes coins-nope{0%,to{transform:translate(0);color:#f2c14e}20%{transform:translate(-5px);color:#ff6b5e}45%{transform:translate(4px);color:#ff6b5e}70%{transform:translate(-2px)}}.upgrade-coins .coin-icon{width:24px;height:24px}.upgrade-cost .coin-icon{width:17px;height:17px;border-width:2px;box-shadow:inset 0 -3px #c8955a}.upgrade-grid{display:grid;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:calc(50% - 4px);gap:8px;padding-bottom:6px}.upgrade-grid[data-scroll="0"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto}.upgrade-grid[data-scroll="1"]{grid-auto-columns:calc(46% - 4px);padding:6px 6px 10px;margin:-6px -6px -4px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;overscroll-behavior:contain}.upgrade-grid[data-scroll="1"]::-webkit-scrollbar{display:none}.upgrade-card{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"icon name level" "effect effect effect" "cost cost cost";align-items:center;column-gap:5px;padding:6px 7px 7px;border-radius:14px;scroll-snap-align:start;background:linear-gradient(to bottom,#fbf5e8,#efe3cb);box-shadow:0 0 0 2px #5c3a1e59 inset,0 4px #9a6a3a,0 6px #0003;color:#3a2412;overflow:hidden;cursor:pointer;transition:transform .06s ease-out}.upgrade-card.pressed{transform:translateY(2px) scale(.97)}.upgrade-card:after{content:"";position:absolute;top:-10%;bottom:-10%;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);transform:translate(0) skew(-18deg);opacity:0;pointer-events:none}.upgrade-card.shine:after{animation:card-shine .55s ease-out}@keyframes card-shine{0%{opacity:1;transform:translate(0) skew(-18deg)}to{opacity:1;transform:translate(450%) skew(-18deg)}}.upgrade-icon{grid-area:icon;align-self:center;width:30px;height:30px;border-radius:9px;background:#c8955a;box-shadow:inset 0 -3px #9a6a3a;color:#3a2412}.upgrade-icon svg{display:block;width:100%;height:100%;padding:4px;box-sizing:border-box;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.upgrade-name{grid-area:name;font-size:clamp(12px,4vw,14px);font-weight:900;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upgrade-level{grid-area:level;justify-self:end;padding:1px 5px;border-radius:7px;background:#5c3a1e;color:#f2c14e;font-size:11px;font-weight:900;text-align:center;white-space:nowrap;transform-origin:center}.upgrade-level.empty{display:none}.upgrade-effect{grid-area:effect;margin-top:4px;font-size:12px;font-weight:800;line-height:1.25;min-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5c3a1e}.upgrade-cost{grid-area:cost;position:relative;display:flex;align-items:center;justify-content:center;gap:5px;margin-top:5px;padding:2px 0 1px;border-radius:10px;overflow:hidden;background:#f2c14e;box-shadow:0 0 0 2px #5c3a1e inset,0 2px #5c3a1e;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}.upgrade-cost .coin-icon,.upgrade-cost-value{position:relative;z-index:1}.upgrade-progress{position:absolute;inset:0;display:none}.upgrade-progress-bar{height:100%;background:#f2c14ebf;transform-origin:left center}.upgrade-card[data-state=buy]{box-shadow:0 0 0 3px #f2c14e inset,0 4px #9a6a3a,0 6px #0003}.upgrade-card[data-state=poor]{background:linear-gradient(to bottom,#e9e1d1,#d9cdb6)}.upgrade-card[data-state=poor] .upgrade-icon{filter:grayscale(.8)}.upgrade-card[data-state=poor] .upgrade-cost{background:#b9ad97;color:#4a3a2a}.upgrade-card[data-state=poor] .upgrade-progress{display:block}.upgrade-card[data-state=max]{background:linear-gradient(to bottom,#ffe08a,#f2c14e)}.upgrade-card[data-state=max] .upgrade-cost{background:#5c3a1e;color:#f2c14e;letter-spacing:2px}.upgrade-card[data-state=max] .upgrade-cost .coin-icon,.upgrade-card[data-state=locked] .upgrade-cost .coin-icon{display:none}.upgrade-card[data-state=locked]{background:#f1eadb1a;box-shadow:0 0 0 2px #f1eadb47 inset;color:#f1eadbbf;cursor:default}.upgrade-card[data-state=locked] .upgrade-icon{background:#f1eadb29;box-shadow:none;color:#f1eadbbf}.upgrade-card[data-state=locked] .upgrade-effect{color:#f1eadbb3}.upgrade-card[data-state=locked] .upgrade-cost{background:transparent;box-shadow:0 0 0 2px #f1eadb38 inset;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#f1eadbb3}.upgrade-card.highlight{animation:card-glow 1.1s ease-in-out infinite}@keyframes card-glow{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.upgrade-card.highlight .upgrade-cost{background:linear-gradient(to bottom,#ffd970,#f2c14e)}.upgrade-card.deny{animation:upgrade-deny .32s ease-out}@keyframes upgrade-deny{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-7px) rotate(-1.5deg)}45%{transform:translate(6px) rotate(1deg)}70%{transform:translate(-3px) rotate(-.5deg)}}#app:has(.upgrade-screen.visible) .hud{opacity:0;transition:opacity .2s}.upgrade-flyers{position:absolute;inset:0;pointer-events:none;z-index:2}.upgrade-flyer{position:absolute;left:0;top:0;opacity:0;will-change:transform}.upgrade-fling{position:relative;overflow:hidden;display:block;width:100%;margin-top:4px;padding:9px 0 7px;border:0;border-radius:18px;background:linear-gradient(to bottom,#ffd970,#f2c14e 55%,#e0a93a);box-shadow:0 0 0 3px #5c3a1e inset,0 5px #5c3a1e,0 7px #00000040;color:#3a2412;font:inherit;font-size:27px;font-weight:900;letter-spacing:4px;cursor:pointer;touch-action:manipulation;animation:fling-breathe 1.4s ease-in-out infinite}.upgrade-fling:after{content:"";position:absolute;top:0;bottom:0;left:-30%;width:18%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:translate(0) skew(-18deg);animation:shine-sweep 2.6s ease-in-out .8s infinite}@keyframes fling-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}.upgrade-fling:active,.upgrade-fling.pressed{animation:none;transform:translateY(4px);box-shadow:0 0 0 3px #5c3a1e inset,0 2px #5c3a1e}.title-screen{position:absolute;inset:0;display:none;align-items:flex-end;justify-content:center;padding-bottom:max(14%,env(safe-area-inset-bottom));background:linear-gradient(to top,#141e148c,#141e1400 45%);touch-action:none}.title-screen.visible{display:flex}.title-logo{position:absolute;left:0;right:0;top:16%;display:flex;justify-content:center;pointer-events:none;opacity:0}.title-logo-text{position:relative;font-size:min(58px,14.5vw);font-weight:900;font-style:italic;letter-spacing:1px;line-height:1;color:#f2c14e;-webkit-text-stroke:7px #3a1f12;paint-order:stroke fill;text-shadow:0 6px 0 #3a1f12,0 10px 14px rgba(0,0,0,.45);transform:rotate(-5deg);white-space:nowrap}.title-logo.in{opacity:1;will-change:transform;animation:title-logo-drop .55s cubic-bezier(.3,0,.4,1) both}@keyframes title-logo-drop{0%{opacity:0;transform:translateY(-140px) scale(1.6)}45%{opacity:1;transform:translateY(0) scale(1)}62%{transform:translateY(-14px) scale(1.04,.96)}78%{transform:translateY(0) scale(.98,1.03)}to{transform:translateY(0) scale(1)}}.title-logo-dust{position:absolute;top:46px;left:50%;width:300px;height:46px;margin-left:-150px;border-radius:50%;background:radial-gradient(ellipse at center,#decda8d9,#decda800 70%);opacity:0}.title-logo.in .title-logo-dust{animation:title-logo-dust .9s ease-out .22s both}@keyframes title-logo-dust{0%{opacity:0;transform:scale(.3,.5)}25%{opacity:1}to{opacity:0;transform:scale(1.5,1.2) translateY(-10px)}}.title-screen.leaving .title-logo{opacity:0;transition:opacity .2s}.title-play{min-width:62%;padding:18px 28px;border:0;border-radius:22px;background:#f2c230;color:#3b2a08;font:inherit;font-size:40px;font-weight:900;letter-spacing:2px;box-shadow:0 6px #a87d12,0 10px 24px #00000059;animation:pulse 1.1s ease-in-out infinite;cursor:pointer}.title-play:active{transform:translateY(4px);box-shadow:0 2px #a87d12}.ftue-prompt{position:absolute;left:0;right:0;bottom:24%;display:flex;flex-direction:column;align-items:center;gap:10px;color:#fff;font-size:30px;font-weight:900;text-shadow:0 2px 0 rgba(0,0,0,.45);-webkit-text-stroke:3px rgba(0,0,0,.4);paint-order:stroke fill;opacity:0;pointer-events:none;transition:opacity .15s}.ftue-prompt.visible{opacity:1}.ftue-finger{position:relative;width:44px;height:44px;border-radius:50%;background:#fffffff2;box-shadow:0 3px #0000004d}.ftue-finger:after{content:"";position:absolute;inset:-10px;border:4px solid rgba(255,255,255,.85);border-radius:50%;opacity:0}.ftue-prompt.flap .ftue-finger{animation:ftue-tap .5s ease-in-out infinite}.ftue-prompt.flap .ftue-finger:after{animation:ftue-ring .5s ease-out infinite}.ftue-prompt.dive .ftue-finger{animation:ftue-hold 1s ease-in-out infinite}.ftue-prompt.dive .ftue-finger:after{opacity:1;animation:ftue-hold-ring 1s ease-in-out infinite}.ftue-prompt.release .ftue-text{color:#f2c230;animation:ftue-blink .35s steps(2,jump-none) infinite}.ftue-prompt.release .ftue-finger{display:none}.ftue-prompt.steer .ftue-finger{animation:ftue-swipe 1.1s ease-in-out infinite}@keyframes ftue-swipe{0%,to{transform:translate(-46px)}50%{transform:translate(46px)}}@keyframes ftue-tap{50%{transform:translateY(8px) scale(.9)}}@keyframes ftue-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.4)}}@keyframes ftue-hold{0%,to{transform:translateY(0) scale(1)}40%,80%{transform:translateY(8px) scale(.88)}}@keyframes ftue-hold-ring{0%,to{transform:scale(.7)}40%,80%{transform:scale(1.15)}}@keyframes ftue-blink{0%{opacity:1}to{opacity:.35}}.relaunch-button{position:absolute;left:50%;bottom:13%;width:132px;height:132px;margin-left:-66px;padding:0;border:0;border-radius:50%;background:radial-gradient(circle at 50% 35%,#ff8a5c,#e2452c 60%,#b32d1c);box-shadow:0 0 0 4px #5c1e12 inset,0 7px #5c1e12,0 11px #00000038;color:#fff8e8;font:inherit;font-size:22px;font-weight:900;letter-spacing:.3px;text-shadow:0 2px 0 #5c1e12;pointer-events:none;cursor:pointer;touch-action:manipulation;opacity:0;transform:scale(.4);visibility:hidden;transition:opacity .15s,transform .2s cubic-bezier(.34,1.56,.64,1),visibility 0s linear .15s;z-index:6}.relaunch-button.visible{pointer-events:auto;visibility:visible;transition:opacity .15s,transform .2s cubic-bezier(.34,1.56,.64,1),visibility 0s;opacity:1;transform:scale(1);animation:relaunch-pulse .5s ease-in-out .2s infinite alternate}.relaunch-button.pressed{animation:none;transform:scale(.88)}@keyframes relaunch-pulse{to{transform:scale(1.07)}}.relaunch-ring{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);transform:rotate(-90deg);pointer-events:none}.relaunch-ring circle{fill:none;stroke-width:6}.relaunch-ring-track{stroke:#00000040}.relaunch-ring-left{stroke:#ffd970;stroke-linecap:round}.relaunch-label{position:relative}.relaunch-free{display:none;position:absolute;top:-14px;right:-18px;padding:4px 10px 3px;border-radius:12px;background:#3fae4a;box-shadow:0 0 0 3px #1f5a24 inset;color:#fff;font-size:16px;text-shadow:none;transform:rotate(12deg)}.relaunch-button.free .relaunch-free{display:block}.title-screen{flex-direction:column;align-items:center;justify-content:flex-end;gap:18px}.title-records{display:none;min-height:44px;padding:10px 20px;border:0;border-radius:999px;background:#2b1e14b8;box-shadow:0 0 0 2px #f2c14e8c inset;color:#f1eadb;font:inherit;font-size:16px;font-weight:900;letter-spacing:1.5px;cursor:pointer;touch-action:manipulation}.title-records.visible{display:block}.end-records-icon{position:relative;width:16px;height:14px;margin:0 2px;border-radius:2px 2px 8px 8px;background:#f2c14e;box-shadow:inset 0 -2px #c8955a;flex:none}.end-records-icon:after{content:"";position:absolute;left:5px;top:14px;width:6px;height:5px;background:#c8955a}.records-screen{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:#0f140f8c;touch-action:none;z-index:20}.records-screen.visible{display:flex}.records-panel{width:82%;padding:20px 18px 18px;border-radius:22px;background:#3b2a1c;box-shadow:0 0 0 4px #f2c14e inset,0 10px 30px #0006;color:#f1eadb;font-weight:800}.records-title{margin-bottom:14px;color:#f2c14e;font-size:28px;font-weight:900;letter-spacing:2px;text-align:center}.records-row{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid rgba(241,234,219,.15);font-size:17px}.records-label{flex:1}.records-value{color:#fff;font-size:22px;font-weight:900}.records-icon{width:14px;height:14px;border-radius:50%;background:#f2c14e;flex:none}.records-icon-runs{background:#86c3ec}.records-icon-longest{background:#e2452c}.records-icon-zones{background:#5fae45}.records-zones{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.records-zone{padding:4px 10px;border-radius:999px;background:#5fae45;color:#fff;font-size:14px}.records-close{display:block;margin:16px auto 0;padding:10px 30px;border:0;border-radius:16px;background:#f2c230;box-shadow:0 5px #a87d12;color:#3b2a08;font:inherit;font-size:20px;font-weight:900;cursor:pointer;touch-action:manipulation}.records-reset{display:block;min-height:44px;margin:12px auto 0;padding:10px 22px;border:0;border-radius:999px;background:transparent;box-shadow:0 0 0 2px #f1eadb59 inset;color:#f1eadbcc;font:inherit;font-size:15px;font-weight:700;cursor:pointer;touch-action:manipulation}.records-reset.hidden{display:none}a.records-privacy-link{width:fit-content;line-height:24px;text-decoration:none;box-sizing:border-box}.records-consent{display:none;margin-top:10px;text-align:center}.records-consent.visible{display:block}.records-consent-row{display:flex;align-items:center;justify-content:center;gap:12px;color:#f1eadbe6;font-size:15px;font-weight:700}.records-consent-row .records-reset{margin:0;min-width:72px}.records-consent-toggle.on{background:#7fe06040;color:#f1eadb}.records-consent-note{margin:8px auto 0;max-width:280px;color:#f1eadb99;font-size:13px;line-height:1.35}.records-player-id{display:block;min-height:44px;margin:8px auto 0;padding:10px 16px;border:0;background:transparent;color:#f1eadb8c;font:inherit;font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;touch-action:manipulation}.records-player-id.hidden{display:none}.records-reset-yes{background:#f1eadb29;color:#f1eadb}.records-confirm{display:none;margin-top:12px;text-align:center}.records-confirm.visible{display:block}.records-confirm-text{color:#f1eadb;font-size:15px;line-height:1.3}.records-confirm-buttons{display:flex;justify-content:center;gap:12px}.records-confirm-buttons .records-reset{margin:10px 0 0}.settings-gear{position:absolute;left:calc(max(var(--gear-margin),env(safe-area-inset-left)) + var(--gear-left) - var(--gear-margin));top:max(var(--gear-margin),env(safe-area-inset-top));width:var(--gear-size);height:var(--gear-size);padding:8px;border:0;border-radius:50%;background:#00000047;color:#fff;pointer-events:auto;cursor:pointer;z-index:5;touch-action:manipulation;transition:transform .08s ease-out;display:none}.settings-gear.visible{display:block}.settings-gear:active{transform:scale(.88)}.settings-gear svg{display:block;width:100%;height:100%}.settings-gear-teeth{fill:currentColor}.settings-gear-hub{fill:#6b5a48}.settings-screen .records-panel{max-height:calc(100% - 40px);overflow-y:auto;box-sizing:border-box}.settings-row .records-reset{margin:0;min-width:72px}.settings-screen .records-close{margin-top:14px}.settings-gear:focus-visible,.settings-screen button:focus-visible,.settings-screen a:focus-visible{outline:3px solid #f2c14e;outline-offset:2px}.upgrade-card.has-strip .upgrade-effect{display:none}.cat-strip{grid-area:effect;display:flex;align-items:center;gap:4px;margin-top:3px;min-height:22px}.cat-next{flex:0 0 22px;width:22px;height:22px;border-radius:7px;background:#fff6e0;box-shadow:0 0 0 2px #5c3a1e inset,0 2px #9a6a3a;color:#3a2412}.cat-next[data-kind=keystone]{background:#f2c14e;box-shadow:0 0 0 2px #5c3a1e inset,0 0 0 2px #f2c14e,0 2px #9a6a3a}.cat-tier,.cat-tier-text{display:none}.upgrade-card.tier{grid-template-columns:46px minmax(0,1fr) auto;grid-template-areas:"tier name level" "tier effect effect" "cost cost cost"}.upgrade-card.tier{background:linear-gradient(to bottom,#fff4cf,#f4d27e)}.upgrade-card.tier .upgrade-icon,.upgrade-card.tier .cat-next{display:none}.upgrade-card.tier .cat-tier{display:block;grid-area:tier;align-self:center;width:46px;height:46px;border-radius:12px;background:#2b1e14;color:#f2c14e;box-shadow:0 0 0 2px #f2c14e inset,0 3px #5c3a1e;animation:cat-tier-pulse 1.1s ease-in-out infinite}.cat-tier svg{display:block;width:100%;height:100%;padding:4px;box-sizing:border-box;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.upgrade-card.has-tier-text .upgrade-name{display:none}.upgrade-card.has-tier-text .cat-tier-text{display:block;grid-area:name;position:relative;z-index:1;min-width:0;overflow:hidden;color:#b42a20;white-space:nowrap}.cat-tier-name{overflow:hidden;font-size:16px;font-weight:900;line-height:1;text-overflow:ellipsis}.cat-tier-sub{color:#6b3a14;font-size:9px;font-weight:800;line-height:1;letter-spacing:.06em;text-transform:uppercase}@keyframes cat-tier-pulse{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.08) rotate(-4deg)}}.cat-notch.goal{flex-grow:1.8;background:#f2c14e;box-shadow:0 0 0 2px #b8860b inset,0 0 6px #f2c14ee6;transform:scaleY(1.35)}.cat-notch.goal[data-state=next]{animation:cat-goal-next .8s ease-in-out infinite}@keyframes cat-goal-next{0%,to{transform:scaleY(1.35) scaleX(1)}50%{transform:scaleY(1.6) scaleX(1.08)}}.cat-next[data-kind=machine]{background:#2b1e14;color:#f2c14e}.cat-next svg,.cat-silhouette svg{display:block;width:100%;height:100%;padding:2px;box-sizing:border-box;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.cat-notches{flex:1 1 auto;display:flex;align-items:center;gap:2px;height:14px;padding:2px;border-radius:6px;background:#5c3a1e38}.cat-notch{flex:1 1 0;height:100%;border-radius:3px;background:#ffffff8c;transform-origin:center bottom}.cat-notch[data-state=done]{background:#e08a2e;box-shadow:inset 0 -2px #9a5a1e}.cat-notch[data-state=next]{background:#f2c14e;animation:cat-notch-next .9s ease-in-out infinite}.cat-notch.late[data-state=todo]{background:#2b1e1473}.cat-notch.machine{flex-grow:1.6;background:#2b1e14}.cat-notch.machine[data-state=next]{background:#2b1e14;box-shadow:0 0 0 2px #f2c14e inset}@keyframes cat-notch-next{0%,to{transform:scaleY(1);opacity:1}50%{transform:scaleY(1.25);opacity:.7}}.cat-silhouette{flex:0 0 0;width:0;height:24px;overflow:hidden;color:#140d08;opacity:0;transition:flex-basis .2s ease-out,opacity .2s ease-out}.cat-silhouette.on{flex-basis:30px;width:30px;opacity:1}.cat-silhouette svg{stroke-width:3.4;padding:0}.upgrade-screen.folded{background:none}.upgrade-screen .upgrade-panel{transition:transform .32s cubic-bezier(.5,0,.75,0)}.upgrade-screen.folded .upgrade-panel{transform:translateY(115%)}.shop-button{position:absolute;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));width:52px;height:52px;padding:5px;border:0;border-radius:50%;background:#0000004d;box-shadow:0 3px #00000040;pointer-events:auto;cursor:pointer;z-index:5;touch-action:manipulation;display:none}.shop-button.visible{display:block;animation:shop-button-in .35s cubic-bezier(.34,1.5,.64,1)}.shop-button:active{transform:scale(.88)}.shop-button svg{display:block;width:100%;height:100%}.shop-button .shop-coin{fill:#f2c14e;stroke:#5c3a1e;stroke-width:2}.shop-button .shop-arrow{fill:none;stroke:#3a2412;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}@keyframes shop-button-in{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@media(max-height:760px){.upgrade-panel{padding-top:7px}.upgrade-header{margin-bottom:5px}.upgrade-title{font-size:17px}.upgrade-coins{font-size:18px}.upgrade-coins .coin-icon{width:20px;height:20px}.upgrade-grid,.upgrade-grid[data-scroll="0"],.upgrade-grid[data-scroll="1"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row;grid-auto-columns:auto;gap:6px;padding:0 0 5px;margin:0;overflow:visible;touch-action:none}.upgrade-card{grid-template-columns:22px minmax(0,1fr) auto;column-gap:4px;padding:4px 6px 5px;border-radius:12px}.upgrade-icon{width:22px;height:22px;border-radius:7px}.upgrade-icon svg{padding:3px}.upgrade-name{font-size:12.5px}.upgrade-level{font-size:10px}.upgrade-effect{margin-top:2px;font-size:10.5px;line-height:1.2;min-height:13px}.upgrade-cost{margin-top:3px;padding:1px 0 0;font-size:14px}.cat-strip{margin-top:2px;min-height:18px}.cat-next{flex-basis:18px;width:18px;height:18px}.upgrade-card.tier{grid-template-columns:40px minmax(0,1fr) auto}.upgrade-card.tier .cat-tier{width:40px;height:40px}.upgrade-card.tier.has-tier-text .cat-tier-name{font-size:14px}.upgrade-fling{margin-top:2px;padding:6px 0 5px;border-radius:15px;font-size:22px}}.upgrade-card:not(.tier) .cat-tier-name{color:#3a2412;font-size:14px}.diamond-icon{width:22px;height:22px;flex:none;overflow:visible}.diamond-icon .diamond-body{fill:#58d3f7;stroke:#12384a;stroke-width:2.4;stroke-linejoin:round}.diamond-icon .diamond-facets{fill:none;stroke:#12384a;stroke-width:1.4;stroke-linejoin:round;opacity:.55}.upgrade-header{gap:8px}.upgrade-title{margin-right:auto}.upgrade-diamonds{display:none;align-items:center;gap:5px;min-height:34px;padding:2px 12px 2px 6px;border:0;border-radius:999px;background:#00000059;box-shadow:0 0 0 2px #58d3f7b3 inset;color:#58d3f7;font:inherit;font-size:21px;font-weight:900;-webkit-text-stroke:4px #0c1f29;paint-order:stroke fill;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation}.upgrade-diamonds.visible{display:flex}.upgrade-diamonds:active{transform:scale(.94)}.upgrade-cost .cost-gem{display:none;position:relative;z-index:1;width:18px;height:18px}.upgrade-card[data-state=diamond]{box-shadow:0 0 0 3px #58d3f7 inset,0 4px #9a6a3a,0 6px #0003;animation:diamond-card-bob 1.6s ease-in-out infinite}.upgrade-card[data-state=diamond] .upgrade-cost{background:#1d5168;color:#e9fbff}.upgrade-card[data-state=diamond] .upgrade-cost .coin-icon{display:none}.upgrade-card[data-state=diamond] .upgrade-cost .cost-gem{display:block}.upgrade-card[data-state=diamond] .upgrade-progress{display:block;opacity:.45}.upgrade-card[data-state=diamond] .upgrade-progress-bar{background:#f2c14ee6}.upgrade-card.tier[data-state=diamond] .upgrade-cost{background:#1d5168}.upgrade-card.gem-ready[data-state=diamond] .upgrade-cost{background:linear-gradient(to bottom,#3fb6e0,#1f8fbf);color:#fff;box-shadow:0 0 0 2px #8fe6ff,0 0 12px #58d3f7e6}.upgrade-card.highlight[data-state=diamond]{animation:card-glow 1.1s ease-in-out infinite}@keyframes diamond-card-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.upgrade-cost.gem-pop{animation:gem-pop .3s ease-out}@keyframes gem-pop{0%{transform:scale(1)}45%{transform:scale(1.3)}to{transform:scale(1)}}.gem-flyer{display:flex;align-items:center;justify-content:center}.gem-flyer .diamond-icon{width:100%;height:100%}.machine-progress{display:none;align-items:center;gap:8px;height:22px;margin:0 2px 6px}.machine-progress.visible{display:flex}.machine-progress-label{flex:none;font-size:12px;font-weight:900;letter-spacing:.4px;color:#f1eadb;white-space:nowrap}.machine-progress-track{position:relative;flex:1;height:8px;border-radius:4px;background:#0006;box-shadow:0 0 0 1.5px #a0b6c78c inset;overflow:hidden}.machine-progress-fill{position:absolute;inset:0;border-radius:4px;background:#8fb3cc;transform:scaleX(0);transform-origin:left center;transition-property:transform;transition-timing-function:cubic-bezier(.34,1.15,.64,1)}.machine-progress-tick{position:absolute;top:0;bottom:0;width:1.5px;margin-left:-.75px;background:#140c068c}.machine-progress.arrived .machine-progress-track{animation:progress-flash .15s ease-out 2}.machine-progress.arrived .machine-progress-next{animation:progress-next-pop .35s ease-out}@keyframes progress-flash{50%{background:#fff}}@keyframes progress-next-pop{45%{transform:scale(1.3)}}.machine-progress-next{flex:none;width:18px;height:18px}.machine-progress-next svg{width:100%;height:100%;fill:#1c130c;stroke:#8fb3cc;stroke-width:1.6;stroke-linejoin:round}.machine-progress-next.flag svg{fill:none;stroke:#f1eadb;stroke-width:2}.end-screen .machine-progress{margin:0 4px 4px}.end-stamp{display:none;font-size:26px;color:#f2c14e;transform:rotate(-8deg)}.end-stamp.on{display:inline-block;animation:stamp-in .3s ease-out}@keyframes stamp-in{0%{transform:rotate(-8deg) scale(1.4);opacity:0}to{transform:rotate(-8deg) scale(1);opacity:1}}.end-screen.mult-on .end-goal,.end-screen.mult-on .end-offer,.end-screen.mult-on .end-action,.end-screen.mult-on .end-links,.end-screen.mult-on .machine-progress{display:none}.end-screen.mult-on{top:41%;width:min(96%,420px);display:flex;flex-direction:column;justify-content:space-evenly;padding:8px 6px 4px;background:none;box-shadow:none}.end-screen.mult-on:before{content:"";position:absolute;z-index:-1;left:-60vw;right:-60vw;top:-18vh;bottom:-40px;background:linear-gradient(to bottom,#180f0800 0,#180f088c 22%,#180f08c7 60%);pointer-events:none}.end-screen.mult-on .end-coins{position:relative;gap:14px;font-size:clamp(40px,16vw,68px);-webkit-text-stroke:8px #2b1e14}.end-screen.mult-on .end-coins .coin-icon{width:clamp(40px,14vw,58px);height:clamp(40px,14vw,58px);border-width:4px;box-shadow:inset 0 -7px #c8955a}.end-screen.mult-on .end-coins:before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;background:repeating-conic-gradient(rgba(255,233,160,.16) 0 10deg,transparent 10deg 24deg);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);mask-image:radial-gradient(circle,#000 30%,transparent 70%);animation:mult-rays 14s linear infinite;pointer-events:none}@keyframes mult-rays{to{transform:rotate(360deg)}}.mult{display:none}.mult.visible{display:block}.mult[data-state=closing]:not(.has-message){animation:mult-fold .2s ease-in forwards}@keyframes mult-fold{to{opacity:0;transform:scaleY(.4)}}.mult-bar-wrap{position:relative;width:100%;margin:0 auto;padding:40px 0 4px}.mult-bar{display:flex;height:66px}.mult-zone{display:flex;align-items:center;justify-content:center;min-width:0;margin:0 1px;border-radius:12px;box-shadow:inset 0 0 0 3px #2b1e14d9,inset 0 -9px #0003,0 5px #0000004d;font-size:19px;font-weight:900;color:#fff;-webkit-text-stroke:4px rgba(28,19,12,.8);paint-order:stroke fill;white-space:nowrap;transition:transform .18s ease-out,filter .18s ease-out}.mult-zone span{margin-top:-6px}.mult-zone[data-rank="1"]{background:#e08a2e}.mult-zone[data-rank="2"]{background:#4a9bd4}.mult-zone[data-rank="3"]{background:#9a7fb0}.mult-zone[data-top="1"]{background:#f2c14e;box-shadow:inset 0 0 0 3px #2b1e14d9,inset 0 0 0 6px #fff1b8,inset 0 -9px #00000029,0 5px #0000004d;font-size:22px}.mult-bar.hit .mult-zone{filter:brightness(.6)}.mult-bar.hit .mult-zone.hit{filter:brightness(1.15);transform:scale(1.18);position:relative;z-index:1}.mult-cursor{position:absolute;top:2px;bottom:0;width:0;pointer-events:none;z-index:2}.mult-cursor:after{content:"";position:absolute;left:-2.5px;top:34px;bottom:2px;width:5px;border-radius:3px;background:#fff;box-shadow:0 0 0 2px #2b1e14}.mult-egg{position:absolute;left:-14px;top:0;width:28px;height:34px;border-radius:50%/60% 60% 40% 40%;background:radial-gradient(circle at 35% 30%,#fff 0 22%,transparent 23%),#f6eedc;box-shadow:0 0 0 3px #2b1e14,inset 0 -5px #d9ccb0}.mult-cursor.bounce .mult-egg{animation:mult-egg-bounce var(--mult-bounce-seconds, .28s) cubic-bezier(.3,1.8,.6,1)}@keyframes mult-egg-bounce{0%{transform:translateY(0) scale(1)}35%{transform:translateY(6px) scale(1.18,.82)}70%{transform:translateY(-6px) scale(.92,1.08)}to{transform:translateY(0) scale(1)}}.mult-pop{position:absolute;left:0;top:-40px;font-size:30px;font-weight:900;color:#f2c14e;-webkit-text-stroke:5px #2b1e14;paint-order:stroke fill;white-space:nowrap;opacity:0;transform:translate(-50%) scale(.4)}.mult-pop.on{animation:mult-pop var(--mult-pop-seconds, .25s) ease-out forwards}@keyframes mult-pop{0%{opacity:0;transform:translate(-50%) scale(.4)}60%{opacity:1;transform:translate(-50%) scale(1.3)}to{opacity:1;transform:translate(-50%) scale(1)}}.mult-watch{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:94%;min-height:84px;margin:18px auto 0;padding:0 14px 0 86px;box-sizing:border-box;border:0;border-radius:42px;background:linear-gradient(to bottom,#7fe060,#4fc23c 55%,#3ea52f);box-shadow:0 0 0 4px #1f4a17 inset,0 0 0 4px #ffffffd9,0 8px #1f4a17;color:#fff;font:inherit;font-size:clamp(26px,9.4vw,44px);font-weight:900;font-variant-numeric:tabular-nums;-webkit-text-stroke:6px #1f4a17;paint-order:stroke fill;pointer-events:none;touch-action:manipulation;opacity:.55;transition:opacity .15s}.mult-watch-play{position:absolute;left:4px;top:4px;bottom:4px;width:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:38px 0 0 38px;background:#0000001f}.mult-watch-ad{display:block;margin-top:3px;padding:1px 7px;border-radius:6px;background:#fff;color:#1f4a17;font-size:14px;font-weight:900;line-height:16px;letter-spacing:1px;-webkit-text-stroke:0}.mult-watch-play svg{width:38px;height:38px;padding:4px;border:3px solid #fff;border-radius:8px;fill:#fff;box-sizing:border-box}.mult-watch .coin-icon{width:clamp(28px,9.4vw,40px);height:clamp(28px,9.4vw,40px);border-width:3px}.mult-watch-amount.bump{animation:mult-amount-bump .14s ease-out}@keyframes mult-amount-bump{50%{transform:scale(1.1)}}.mult.live .mult-watch{opacity:1;pointer-events:auto;animation:pulse 1s ease-in-out infinite}.mult[data-state=stopped] .mult-watch,.mult[data-state=watching] .mult-watch{opacity:1;transform:translateY(5px);box-shadow:0 0 0 4px #1f4a17 inset,0 0 0 4px #ffffffd9,0 3px #1f4a17}.mult-watch:active{transform:translateY(5px)}.mult-decline{display:block;min-height:52px;min-width:180px;margin:14px auto 0;padding:0 20px;border:0;background:none;color:#f1eadbe6;font:inherit;font-size:22px;font-weight:900;letter-spacing:.5px;-webkit-text-stroke:4px rgba(28,19,12,.8);paint-order:stroke fill;pointer-events:none;touch-action:manipulation;opacity:.55}.mult.live .mult-decline{opacity:1;pointer-events:auto}.mult[data-state=stopped] .mult-decline,.mult[data-state=watching] .mult-decline,.mult[data-state=closing] .mult-decline,.mult[data-state=closing] .mult-watch{visibility:hidden}.mult-message{display:none;margin-top:10px;font-size:20px;font-weight:900;color:#f1eadb}.mult.has-message .mult-message{display:block}.shop-screen{position:absolute;inset:0;z-index:8;display:none;touch-action:none}.shop-screen.visible{display:block}.shop-scrim{position:absolute;inset:0;background:#0a060399}.shop-sheet{position:absolute;left:0;right:0;bottom:0;max-height:75%;box-sizing:border-box;padding:8px 14px max(12px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:linear-gradient(to bottom,#4a3322,#2b1e14 30%);box-shadow:0 -3px #f2c14e,0 -7px #5c3a1ee6;color:#fff;animation:shop-in .25s cubic-bezier(.34,1.2,.64,1)}@keyframes shop-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.shop-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:56px}.shop-balance{display:flex;align-items:center;gap:5px;justify-self:start;padding:2px 12px 2px 6px;border-radius:999px;background:#00000059;box-shadow:0 0 0 2px #58d3f7b3 inset;font-size:20px;font-weight:900;color:#58d3f7;font-variant-numeric:tabular-nums}.shop-title{font-size:20px;font-weight:900;letter-spacing:1.5px;color:#f1eadb;-webkit-text-stroke:4px #1c130c;paint-order:stroke fill}.shop-close{justify-self:end;width:44px;height:44px;border:0;border-radius:50%;background:#0000004d;cursor:pointer;touch-action:manipulation}.shop-close svg{width:22px;height:22px;fill:none;stroke:#f1eadb;stroke-width:3;stroke-linecap:round}.shop-screen.busy .shop-close{pointer-events:none}.shop-origin{display:flex;align-items:center;justify-content:center;gap:4px;height:24px;font-size:14px;font-weight:700;color:#f1eadbb3}.shop-origin-chip{display:inline-flex;align-items:center;gap:2px}.shop-origin-chip .diamond-icon{width:16px;height:16px}.shop-ad{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:60px;margin-top:6px;border:0;border-radius:18px;background:linear-gradient(to bottom,#ffd970,#f2c14e 55%,#e0a93a);box-shadow:0 0 0 3px #5c3a1e inset,0 5px #5c3a1e;color:#3a2412;font:inherit;font-size:19px;font-weight:900;cursor:pointer;touch-action:manipulation}.shop-ad svg{width:22px;height:22px;fill:#3a2412}.shop-ad-left{margin-top:4px;font-size:12px;font-weight:700;text-align:center;color:#f1eadba6}.shop-novideo,.shop-unavailable{margin:10px 0;font-size:15px;font-weight:700;text-align:center;color:#f1eadbb3}.shop-packs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.shop-pack{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:112px;box-sizing:border-box;padding:8px;border-radius:14px;background:linear-gradient(to bottom,#fbf5e8,#efe3cb);box-shadow:0 0 0 2px #5c3a1e59 inset,0 4px #9a6a3a;color:#3a2412}.shop-popular{position:absolute;top:-8px;right:8px;padding:2px 8px;border-radius:6px;background:#c8372d;color:#fff;font-size:11px;font-weight:900;letter-spacing:1px}.shop-pack-amount{display:flex;align-items:center;gap:4px;font-size:26px;font-weight:900;font-variant-numeric:tabular-nums}.shop-pack-amount .diamond-icon{width:26px;height:26px}.shop-pack-equals{font-size:12px;font-weight:700;color:#3a2412b3}.shop-price{min-width:96px;min-height:44px;margin-top:4px;padding:0 12px;border:0;border-radius:12px;background:#5fa84a;box-shadow:0 0 0 2px #2c5a20 inset,0 3px #2c5a20;color:#fff;font:inherit;font-size:17px;font-weight:900;cursor:pointer;touch-action:manipulation}.shop-price.loading{animation:shop-shimmer 1s ease-in-out infinite}@keyframes shop-shimmer{50%{opacity:.55}}.shop-screen.busy .shop-price,.shop-screen.busy .shop-ad,.shop-screen.busy .shop-restore{pointer-events:none}.spinning{position:relative;color:transparent!important}.spinning:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-11px 0 0 -11px;border:3px solid rgba(255,255,255,.9);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.shop-failed{margin-top:3px;font-size:11px;font-weight:800;color:#c8372d}.pulse{animation:shop-pulse .7s ease-in-out 2}@keyframes shop-pulse{50%{box-shadow:0 0 0 4px #f2c14e,0 4px #9a6a3a}}.shop-remove{display:flex;align-items:center;gap:10px;min-height:64px;margin-top:10px;padding:6px 4px;border-top:1px solid rgba(241,234,219,.15)}.shop-remove-words{flex:1;text-align:left}.shop-remove-title{font-size:16px;font-weight:900}.shop-remove-sub{font-size:12px;color:#f1eadbb3}.shop-restore{display:block;min-height:36px;margin:6px auto 0;border:0;background:none;color:#f1eadb99;font:inherit;font-size:13px;cursor:pointer;touch-action:manipulation}@media(max-height:700px){.shop-pack{min-height:96px}.shop-header{height:48px}}.fake-ad{position:fixed;inset:0;z-index:100;background:#000}.ui-flyers{position:absolute;inset:0;pointer-events:none;z-index:9;overflow:hidden}.ui-flyer{position:absolute;left:0;top:0;opacity:0;will-change:transform}.mult[data-state=granted] .mult-watch,.mult[data-state=granted] .mult-decline{visibility:hidden}.mult[data-state=granted] .mult-bar-wrap{animation:mult-fade .5s ease-in forwards}@keyframes mult-fade{to{opacity:.35}}.mult-zone.flash{animation:mult-flash var(--mult-flash-seconds, .22s) ease-out}@keyframes mult-flash{0%{filter:brightness(2.4)}to{filter:brightness(1.15)}}.gags{position:absolute;inset:0;pointer-events:none;overflow:hidden;text-align:center}.gag-scream,.gag-bounce,.gag-units,.gag-photo{visibility:hidden}.gag-scream.visible,.gag-bounce.visible,.gag-units.visible,.gag-photo.visible{visibility:visible}.gag-scream{position:absolute;left:0;top:0;font-weight:900;font-style:italic;letter-spacing:-1px;line-height:1.05;white-space:pre;-webkit-text-stroke:5px var(--scream-stroke, #2b2b2b);paint-order:stroke fill;will-change:transform}.gag-bounce{position:absolute;left:0;top:0;font-size:30px;font-weight:900;letter-spacing:1px;white-space:nowrap;-webkit-text-stroke:5px #3a0610;paint-order:stroke fill;transform-origin:50% 50%;will-change:transform,opacity}.gag-units{position:absolute;left:50%;top:calc(max(16px,env(safe-area-inset-top)) + 58px);display:flex;flex-direction:column;align-items:center;padding:6px 16px 8px;border-radius:14px;background:#2b1e14db;box-shadow:0 0 0 3px #f2c14ed9 inset,0 4px #0000004d;transform-origin:50% 0;box-sizing:border-box;white-space:nowrap;will-change:transform,opacity}.gag-units-lead{font-size:14px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:#f1eadb}.gag-units-value{font-size:26px;font-weight:900;color:#f2c14e;font-variant-numeric:tabular-nums;line-height:1.1;max-width:100%;text-wrap:balance;overflow-wrap:break-word;-webkit-text-stroke:3px #5c3a1e;paint-order:stroke fill}.gag-photo-freeze .hud-banner,.gag-photo-freeze .bubble-wrap{visibility:hidden!important}.gag-photo{position:absolute;inset:0}.gag-photo-tint{position:absolute;inset:0;mix-blend-mode:multiply}.gag-photo-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(30,18,8,.55) 100%)}.gag-photo-line{position:absolute;left:0;top:0;width:3px;transform-origin:50% 0;box-shadow:0 0 6px #fffc}.gag-photo-tape{position:absolute;left:0;top:0;height:8px;border-radius:2px;background:repeating-linear-gradient(90deg,#f2c14e 0 6px,#2b2b2b 6px 7px);box-shadow:0 1px #00000080}.gag-photo-label{position:absolute;left:0;top:0;padding:2px 10px;border-radius:8px;background:#f2c14e;color:#2b2b2b;font-size:24px;font-weight:900;white-space:nowrap;box-shadow:0 3px #00000059}.gag-photo-title{position:absolute;left:50%;top:15%;font-size:40px;font-weight:900;letter-spacing:4px;color:#fff;white-space:nowrap;-webkit-text-stroke:6px #2b2b2b;paint-order:stroke fill}.set-piece-stamp{position:absolute;left:50%;top:calc(max(16px,env(safe-area-inset-top)) + 64px);display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px min(18px,4vw) 10px;background:#7a1020;border:3px solid #f2c14e;border-radius:6px;box-shadow:0 4px #00000059;transform:translate(-50%) rotate(-3deg) scale(0);opacity:0;pointer-events:none;white-space:nowrap;max-width:94vw;box-sizing:border-box}.set-piece-stamp-top{display:flex;gap:10px;align-items:baseline}.set-piece-stamp-rare{font-size:min(15px,3.8vw);font-weight:900;letter-spacing:4px;color:#2b0a10;background:#f2c14e;padding:1px 8px;border-radius:3px}.set-piece-stamp-odds{font-size:min(18px,4.6vw);font-weight:900;letter-spacing:1px;color:#f2c14e}.set-piece-stamp-name{font-size:min(30px,7.2vw);font-weight:900;letter-spacing:1px;color:#fff;-webkit-text-stroke:4px #2b0a10;paint-order:stroke fill}.set-piece-stamp-serial{font-size:13px;font-weight:800;letter-spacing:3px;color:#f2c14e}.set-piece-stamp.visible{animation-name:set-piece-stamp;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes set-piece-stamp{0%{opacity:0;transform:translate(-50%) rotate(-12deg) scale(2.2)}8%{opacity:1;transform:translate(-50%) rotate(-3deg) scale(.92)}12%{transform:translate(-50%) rotate(-3deg) scale(1.04)}16%{transform:translate(-50%) rotate(-3deg) scale(1)}86%{opacity:1;transform:translate(-50%) rotate(-3deg) scale(1)}to{opacity:0;transform:translate(-50%) rotate(-3deg) scale(.9)}}.mute-button{position:absolute;left:max(var(--mute-margin),env(safe-area-inset-left));top:max(var(--mute-margin),env(safe-area-inset-top));width:var(--mute-size);height:var(--mute-size);padding:7px;border:0;border-radius:50%;background:#00000047;color:#fff;pointer-events:auto;cursor:pointer;z-index:5;touch-action:manipulation;transition:transform .08s ease-out}.mute-button:active{transform:scale(.88)}.mute-button svg{display:block;width:100%;height:100%}.mute-button .mute-speaker{fill:currentColor}.mute-button .mute-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.mute-button.muted{opacity:.75}
