:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#1a120c;--paper:#fff3d6;--gold:#ffd24a;--gold-deep:#a56b12;--clay:#c45c26;--wood:#4a2618;--wood-deep:#2a140e;--grass:#2f6b3a;--grass-deep:#1d4125;--sky:#7ec8ff;font-family:"Press Start 2P",ui-monospace,monospace;line-height:1.4}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{background:var(--ink);overscroll-behavior:none;touch-action:manipulation;height:100dvh;overflow:hidden}button,input{font-family:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #fff}.skip-link{z-index:20;background:var(--gold);color:var(--ink);padding:8px 10px;position:absolute;top:-40px;left:8px}.skip-link:focus{top:8px}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.viewport{background:radial-gradient(circle at 18% 0%, #c45c2638, transparent 34%), radial-gradient(circle at 86% 12%, #ffd24a24, transparent 30%), var(--ink);height:100%;position:relative;overflow:hidden}.viewport.needs-rotate .shell{visibility:hidden;pointer-events:none}.rotate-gate{z-index:40;text-align:center;color:var(--paper);background:radial-gradient(circle at 50% 40%,#ffd24a1f,#0000 46%),#140c0a;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.rotate-title{color:var(--gold);letter-spacing:.06em;margin:0;font-size:clamp(16px,4vw,24px)}.rotate-copy{color:#ffe9c2;max-width:28ch;margin:0;font-size:clamp(9px,2.4vw,12px);line-height:1.6}.rotate-phone{border:4px solid var(--gold);border-radius:8px;width:46px;height:72px;animation:1.2s steps(2,end) infinite rotate-hint;box-shadow:inset 0 0 0 2px #c45c26}@keyframes rotate-hint{0%{transform:rotate(-90deg)}to{transform:rotate(0)}}.shell{width:100%;height:100%;color:var(--paper);-webkit-user-select:none;user-select:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);justify-content:center;display:flex;container:shell/size}.stage{flex-direction:column;align-items:center;gap:6px;width:100%;height:100%;min-height:0;padding:4px;display:flex}.cabinet{flex:auto;justify-content:center;align-items:stretch;width:100%;min-width:0;min-height:0;display:flex}.playfield{aspect-ratio:9/16;border:4px solid var(--wood);width:min(100%,min(100%,100cqh)/1.77778);max-width:100%;height:min(100%,100cqh);min-height:0;box-shadow:inset 0 0 0 4px var(--gold), 0 0 0 4px #c45c26, 0 14px 30px #00000059;background:linear-gradient(#5f3a24,#3a2214 38%,#2a1810);grid-template-rows:11% 1fr;display:grid;position:relative;overflow:hidden}@media (pointer:coarse),(width<=700px){.stage{gap:4px;padding:0}.playfield{aspect-ratio:auto;width:100%;max-width:none;height:100%;box-shadow:inset 0 0 0 3px var(--gold), 0 0 0 3px #c45c26;border-left:0;border-right:0}.dock{width:100%}}.scoreboard{background:linear-gradient(#5a301c, var(--wood-deep));color:var(--gold);text-shadow:0 0 10px #ffd24a59;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-height:0;padding:4px 12px 10px;display:grid;position:relative;overflow:hidden}.corner{z-index:9;position:absolute;top:8px}.corner-left{left:8px}.corner-right{right:8px}.icon-btn{border:3px solid var(--gold);width:clamp(34px,7cqh,44px);height:clamp(34px,7cqh,44px);color:var(--gold);background:#140c0cd1;place-items:center;padding:0;display:grid}.icon-pause{width:14px;height:14px;display:block;position:relative}.icon-pause:before,.icon-pause:after{content:"";background:var(--gold);width:4px;height:14px;position:absolute;top:0}.icon-pause:before{left:0}.icon-pause:after{right:0}.icon-play{border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:12px solid var(--gold);width:0;height:0;margin-left:3px}.icon-gear{border:3px solid var(--gold);width:14px;height:14px;box-shadow:0 -7px 0 -3px var(--gold), 0 7px 0 -3px var(--gold), 7px 0 0 -3px var(--gold), -7px 0 0 -3px var(--gold);border-radius:50%}.sb-side,.digits{flex-direction:column;justify-content:center;min-width:0;font-size:clamp(8px,1.5cqh,12px);display:flex}.sb-side.right{text-align:right;align-items:flex-end}.sb-side.urgent{color:#ff5a6a;animation:.5s steps(2,end) infinite pulse}.score-block{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.digits{letter-spacing:.12em;flex-direction:row;justify-content:center;align-items:center;font-size:clamp(16px,4.6cqh,42px);line-height:1}.digit{display:inline-block}.goal-line{color:#ffe9c2;letter-spacing:.08em}.tiny{letter-spacing:.04em;opacity:.85;font-size:clamp(7px,1.15dvh,10px)}.well-hearts{z-index:6;pointer-events:none;box-sizing:border-box;align-items:center;gap:7px;display:flex;position:absolute;bottom:0;left:12px}.well-hearts .heart{width:clamp(26px,5.2cqh,40px);height:clamp(26px,5.2cqh,40px)}.meter{background:#3a2418;height:4px;position:absolute;bottom:3px;left:10px;right:10px}.meter div{background:#7dff6b;height:100%;box-shadow:0 0 8px #7dff6bb3}.board{touch-action:none;cursor:crosshair;background:linear-gradient(#7ec8ff2e,#0000 28%),repeating-linear-gradient(90deg,#2f6b3a 0 18%,#347742 18% 36%,#2a5f34 36% 54%,#3a8248 54% 72%,#2f6b3a 72% 100%);min-height:0;position:relative;overflow:hidden}.board.live,.board.live.fine-aim{cursor:none}.board.boom-shock{animation:.5s steps(2,end) earthquake}.board.boom-shock:after{content:"";z-index:12;pointer-events:none;background:#be0c1c8c;animation:.5s ease-out forwards boom-flash;position:absolute;inset:0}@keyframes earthquake{0%,to{transform:translate(0)}12%{transform:translate(-7px,4px)}25%{transform:translate(8px,-5px)}37%{transform:translate(-6px,-3px)}50%{transform:translate(7px,5px)}62%{transform:translate(-5px,2px)}75%{transform:translate(4px,-4px)}87%{transform:translate(-3px,3px)}}@keyframes boom-flash{0%{opacity:1}55%{opacity:.75}to{opacity:0}}.grid{box-sizing:border-box;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:0;padding:0;display:grid;position:absolute;left:0;right:0}.hammer-well{pointer-events:none;z-index:1;background:linear-gradient(#27182f,#100914);border-top:3px solid #6b4423;height:11%;position:absolute;bottom:0;left:0;right:0}.tile{contain:paint;background:0 0;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.tile.show-daze{contain:none;z-index:5;overflow:visible}.hill,.hill-lip{pointer-events:none;position:absolute;inset:0}.hill{z-index:1}.hill .sprite,.hill-lip .sprite{width:100%;height:100%;display:block}.mule-well{contain:paint;z-index:2;pointer-events:none;border-radius:42%/34%;position:absolute;inset:2% 10% 16%;overflow:hidden}.hill-lip{z-index:3}.mule{pointer-events:none;justify-content:center;align-items:flex-end;width:100%;height:100%;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.mule .sprite{z-index:1;width:auto;max-width:100%;height:100%;max-height:100%;display:block;position:relative}.daze-stars{z-index:6;pointer-events:none;height:52%;position:absolute;top:0;left:14%;right:14%;overflow:visible}.daze-star{color:#ffe566;text-align:center;text-shadow:1px 1px #140c12,-1px 0 #140c12,1px 0 #140c12,0 -1px #140c12,0 0 6px #ffd24ad9;background:0 0;border:0;width:1em;height:1em;margin:0;padding:0;font-size:clamp(10px,3cqh,16px);line-height:1;animation:.9s linear infinite daze-halo;position:absolute;top:35%;left:50%;transform:translate(-50%,-50%)}.daze-star:before{content:"★"}.daze-star:first-child{animation-delay:0s}.daze-star:nth-child(2){animation-delay:-.18s}.daze-star:nth-child(3){animation-delay:-.36s}.daze-star:nth-child(4){animation-delay:-.54s}.daze-star:nth-child(5){animation-delay:-.72s}.flying.dazed .daze-stars{height:55%;top:-8%;left:0;right:0}@keyframes daze-halo{0%{opacity:.6;top:8%;left:50%;transform:translate(-50%,-50%)scale(.7)}12.5%{opacity:.75;top:16%;left:74%;transform:translate(-50%,-50%)scale(.8)}25%{opacity:.95;top:38%;left:90%;transform:translate(-50%,-50%)scale(.95)}37.5%{opacity:1;top:60%;left:78%;transform:translate(-50%,-50%)scale(1.05)}50%{opacity:1;top:72%;left:50%;transform:translate(-50%,-50%)scale(1.2)}62.5%{opacity:1;top:60%;left:22%;transform:translate(-50%,-50%)scale(1.05)}75%{opacity:.95;top:38%;left:10%;transform:translate(-50%,-50%)scale(.95)}87.5%{opacity:.75;top:16%;left:26%;transform:translate(-50%,-50%)scale(.8)}to{opacity:.6;top:8%;left:50%;transform:translate(-50%,-50%)scale(.7)}}.mule.state-rising{animation:.28s steps(3,end) forwards mule-pop-up}.mule.state-idle,.mule.state-flee,.mule.state-angry{animation:none;transform:translateY(0)}.mule.state-hit{transition:transform .12s steps(2,end);animation:none;transform:translateY(6%)scale(.94)}.mule.state-sinking{transition:transform .18s steps(3,end);animation:none;transform:translateY(100%)}.mule.state-hit .sprite{filter:brightness(1.35)}.mule.dazed .sprite{filter:grayscale(.85)brightness(.78)contrast(.95)}.mule.dazed.state-hit .sprite{filter:grayscale(.85)brightness(.82)contrast(.95)}.mule-angry.state-angry .sprite{filter:saturate(2)brightness(1.15)}.mule-angry.dazed.state-angry .sprite{filter:grayscale(.85)brightness(.78)contrast(.95)}.mule-gold .sprite{filter:brightness(1.12)}.mule-boom .sprite{filter:contrast(1.15)brightness(.92)}.mule-boom.state-hit .sprite{filter:brightness(1.6)contrast(1.2)}.mule-runner.state-flee .sprite{filter:brightness(1.2)}.flying.dazed .sprite{filter:grayscale(.85)brightness(.78)contrast(.95)}@keyframes mule-pop-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.flying{z-index:4;pointer-events:none;animation:.35s steps(2,end) infinite flutter;position:absolute;transform:translate(-50%,-50%)}.flying .sprite{z-index:1;position:relative}.flying.state-hit{filter:brightness(1.4);opacity:.85;animation:none}.stone{z-index:5;pointer-events:none;filter:drop-shadow(0 0 6px #ffd24ad9);animation:.55s steps(2,end) infinite stone-pulse;position:absolute;transform:translate(-50%,-50%)}.hammer{z-index:6;pointer-events:none;filter:drop-shadow(0 6px #00000059);transition:none;position:absolute;transform:translate(-50%,-100%)}.hammer-arm{transform-origin:50% 92%;width:100%;height:100%;transform:rotate(-12deg)}.hammer.idle .hammer-arm{animation:.85s steps(2,end) infinite alternate hammer-swing}.hammer.swinging .hammer-arm,.hammer.banging .hammer-arm{animation:none}.hammer.banging{filter:drop-shadow(0 2px #0006)brightness(1.1)}.aim-hammer{z-index:7;pointer-events:none;opacity:.92;filter:drop-shadow(0 2px #00000059);position:absolute;transform:translate(-35%,-75%)rotate(-18deg)}.floater{z-index:7;pointer-events:none;color:var(--gold);text-shadow:2px 2px #140c12;white-space:nowrap;align-items:center;gap:2px;font-size:clamp(10px,2.2cqh,16px);line-height:1;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.floater.tone-life{color:#ff6b9d}.floater.tone-hurt{color:#ff5a6a}.floater .sprite.floater-heart{filter:drop-shadow(1px 0 #140c12)drop-shadow(-1px 0 #140c12)drop-shadow(0 1px #140c12)drop-shadow(0 -1px #140c12);flex:none;width:1em;height:1em}.hit-ripple{z-index:5;pointer-events:none;width:clamp(28px,8cqmin,56px);height:clamp(28px,8cqmin,56px);transform:translate(-50%, -50%) scale(calc(1.1 + (1 - var(--ripple-life,1)) * 1.35));border:3px solid rgba(255, 236, 150, calc(.85 * var(--ripple-life,1)));box-shadow:0 0 0 2px rgba(255, 180, 60, calc(.35 * var(--ripple-life,1))), inset 0 0 10px rgba(255, 220, 120, calc(.4 * var(--ripple-life,1)));opacity:var(--ripple-life,1);border-radius:50%;position:absolute}.sprite{width:100%;height:100%;image-rendering:pixelated;display:block}.dock{flex-direction:column;flex:none;justify-content:flex-start;gap:4px;width:min(100%,56.25cqh);max-width:100%;min-height:0;padding:0 2px 2px;display:flex;overflow:hidden}.overlay{z-index:8;background:#0c0806db;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0}.card{text-align:center;border:4px solid var(--gold);background:linear-gradient(#4a2c18,#2a170e);flex-direction:column;align-items:center;gap:12px;width:min(420px,92%);padding:18px 16px;display:flex;box-shadow:inset 0 0 0 3px #c45c26}.overlay.howto-layer{align-items:stretch;padding:clamp(4px,1.2%,8px)}.card.howto{box-sizing:border-box;gap:clamp(6px,1.2%,10px);width:100%;max-width:none;height:100%;max-height:100%;padding:clamp(8px,1.6%,14px);overflow:hidden}.card.howto h2{flex:none;font-size:clamp(14px,3.2cqh,24px)}.card.howto .pixel-btn{flex:none;padding:clamp(8px,1.4cqh,12px) clamp(14px,3cqh,20px);font-size:clamp(11px,1.8cqh,14px)}.howto-lives{color:#ff6b9d;letter-spacing:.02em;flex:none;margin:0;font-size:clamp(9px,1.5cqh,12px);line-height:1.3}.howto-lives.howto-end{color:#ffe9c2;margin-top:-4px}.howto-list{text-align:left;flex-direction:column;flex:auto;justify-content:space-evenly;gap:clamp(2px,.5%,5px);width:100%;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.howto-row{background:#140c0a59;border:1px solid #ffd24a47;flex:1 1 0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(8px,2.2%,14px);min-height:0;padding:0 clamp(4px,1.2%,8px);display:grid}.howto-sprite{box-sizing:border-box;aspect-ratio:1;align-self:center;place-items:center;width:min(48px,72%);min-width:24px;max-width:100%;height:min(48px,72%);min-height:24px;max-height:100%;display:grid;overflow:hidden}.howto-sprite .sprite{width:100%;max-width:100%;height:100%;max-height:100%}.howto-copy{flex-direction:column;justify-content:center;gap:1px;min-width:0;display:flex}.howto-name{color:var(--gold);letter-spacing:.02em;font-size:clamp(10px,1.7cqh,14px);line-height:1.15}.howto-tip{color:#ffe9c2;opacity:.92;font-size:clamp(9px,1.45cqh,12px);line-height:1.2}.howto-divider{color:#ff5a6a;letter-spacing:.12em;flex:none;align-items:center;gap:8px;margin:clamp(2px,.6%,4px) 0;font-size:clamp(9px,1.5cqh,12px);display:flex}.howto-divider:before,.howto-divider:after{content:"";opacity:.85;background:linear-gradient(90deg,#0000,#ff5a6a,#0000);flex:auto;height:2px}.howto-divider span{flex:none}.howto-row.howto-hazard{background:#3c0c1259;border-color:#ff5a6a73}.brand{color:var(--gold);letter-spacing:.04em;text-shadow:3px 3px #140c12;margin:0;font-size:clamp(18px,4cqh,28px)}.card h2{color:var(--gold);margin:0;font-size:clamp(14px,3cqh,22px)}.tag{color:#ffe9c2;max-width:28ch;margin:0;font-size:clamp(8px,1.5cqh,11px);line-height:1.6}.field{text-align:left;width:min(260px,100%);color:var(--gold);flex-direction:column;gap:6px;font-size:10px;display:flex}.field input{border:3px solid var(--gold);width:100%;color:var(--paper);background:#1a120c;padding:10px 12px;font-size:12px}.row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pixel-btn{appearance:none;border:3px solid var(--gold);color:var(--paper);background:linear-gradient(#c45c26,#8a3a16);padding:10px 14px;font-size:clamp(10px,1.6cqh,12px);box-shadow:0 3px #5a2410}.pixel-btn:active{transform:translateY(2px);box-shadow:0 1px #5a2410}.pixel-btn:disabled{opacity:.45;cursor:not-allowed}.pixel-btn.ghost{color:var(--gold);box-shadow:none;background:0 0}.pixel-btn.play{min-width:min(240px,100%);padding-block:16px;font-size:clamp(12px,2dvh,16px)}.pixel-btn.play.again{animation:1.6s ease-in-out infinite play-pulse;position:relative;overflow:hidden}.pixel-btn.play.again:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 28%,#ffffff9e 50%,#0000 72%);animation:1.6s ease-in-out infinite play-shine;position:absolute;inset:0;transform:translate(-130%)}.again-letter{z-index:1;animation:1.6s ease-in-out infinite letter-glow;display:inline-block;position:relative}.final-score{color:var(--gold);text-shadow:3px 3px #140c12;margin:0;font-size:clamp(28px,6cqh,56px);line-height:1}.share-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.game-over-title{color:var(--gold);text-shadow:3px 3px #140c12;font-size:clamp(20px,4.5cqh,36px)}.rank{color:#ffe9c2;margin:0;font-size:clamp(9px,1.5cqh,12px)}.rank-board,.rank-you{width:min(420px,100%)}.rank-board{flex-direction:column;gap:5px;max-height:min(28cqh,220px);display:flex;overflow:auto}.rank-you{border-top:3px solid var(--gold-deep);padding-top:6px}.rank-row{color:var(--paper);text-align:left;grid-template-columns:2.4em minmax(0,1fr) auto auto;align-items:baseline;column-gap:8px;font-size:clamp(7px,1.3cqh,11px);display:grid}.rank-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-level{color:var(--gold)}.rank-score{text-align:right}.card.gameover{gap:8px;max-height:92%;overflow:auto}.field input.suggested{animation:.9s name-mark}.name-hint{color:#ffe9c2;margin:-4px 0 0}.site-footer{color:#d8c2a0;flex-direction:column;gap:6px;font-size:clamp(7px,1.05dvh,9px);display:flex}.site-footer-nav{flex-wrap:wrap;justify-content:center;gap:4px 0;display:flex}.site-footer a{color:#ffe9c2;text-decoration:none}.site-footer a:hover,.site-footer a[aria-current=page]{color:var(--gold);text-decoration:underline}.site-footer-sep{opacity:.55;margin:0 4px}.site-footer-copy{text-align:center;opacity:.75;margin:0}.dock .site-footer{padding-bottom:2px}.dock .site-footer-nav{flex-flow:wrap;justify-content:center;align-items:center;gap:2px 0}.dock .site-footer-sep{display:inline}.dock .site-footer-copy{font-size:clamp(6px,.95dvh,8px)}.site-footer.in-panel{width:100%;margin-top:4px}html:has(.legal-page){overscroll-behavior:auto;height:auto;min-height:100%;overflow:visible}html:has(.legal-page) body{overscroll-behavior:auto;height:auto;min-height:100%;overflow:visible}html:has(.legal-page) #root{overscroll-behavior:auto;height:auto;min-height:100%;overflow:visible}.legal-page{background:radial-gradient(circle at 18% 0%, #c45c262e, transparent 34%), var(--ink);height:auto;min-height:100dvh;color:var(--paper);-webkit-user-select:text;user-select:text;padding:24px 16px 48px;overflow:visible}.legal-page main{max-width:760px;margin:0 auto}.legal-card{border:4px solid var(--gold);background:#24150e;padding:24px 20px;box-shadow:inset 0 0 0 3px #c45c26}.legal-back{margin:0 0 12px;font-size:12px}.legal-back a,.legal-card a{color:var(--gold)}.legal-card h1{color:var(--gold);margin:0 0 16px;font-size:clamp(18px,4vw,28px)}.legal-updated{opacity:.85;font-size:12px}.legal-card h2,.legal-card h3{color:#ffe9c2;margin-top:1.4em}.legal-card p,.legal-card li{font-family:ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.55}.legal-he{background:#0003;border:2px solid #6b4423;margin-bottom:18px;padding:12px}@keyframes pulse{50%{opacity:.45}}@keyframes flutter{50%{transform:translate(-50%,calc(-50% - 3px))rotate(-4deg)}}@keyframes hammer-swing{0%{transform:rotate(-22deg)}to{transform:rotate(18deg)}}@keyframes letter-glow{0%,to{color:var(--paper);text-shadow:0 0 #0000}45%{color:#fff8d0;text-shadow:0 0 4px #fff,0 0 10px #ffd24a,0 0 16px #c45c26}}@keyframes play-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.28)}}@keyframes play-shine{0%{transform:translate(-130%)}55%,to{transform:translate(130%)}}@keyframes name-mark{0%{box-shadow:0 0 #ffd24acc}to{box-shadow:0 0 0 8px #ffd24a00}}@keyframes stone-pulse{0%{filter:drop-shadow(0 0 4px #ff4d4d8c)brightness();transform:translate(-50%,-50%)scale(.92)}to{filter:drop-shadow(0 0 12px #ffd24a)brightness(1.35);transform:translate(-50%,-50%)scale(1.22)}}@media (height<=720px){.dock{gap:2px}.dock .site-footer-copy{display:none}}@media (height<=640px){.dock .site-footer{display:none}}
